X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: Eric Blake Subject: Re: octave configure on cygwin snapshot Date: Wed, 29 Aug 2007 16:51:26 +0000 (UTC) Lines: 26 Message-ID: References: <010e01c7ea38$d6cbd820$2e08a8c0 AT CAM DOT ARTIMI DOT COM> <727852 DOT 30843 DOT qm AT web25003 DOT mail DOT ukl DOT yahoo DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit User-Agent: Loom/3.14 (http://gmane.org/) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Eric Blake byu.net> writes: > As your testcase shows, the inclusion of manages to define struct > timezone, but then subsequent includes trigger the macro that changes the > spelling to _timezone, and your declarations all end up referring to the > incomplete type struct _timezone, hence the compiler error. So something in > cygwin's headers needs to change in order to make sure struct timezone is not > hidden by the macro in . At first, I thought the solution might be as simple as having declare struct _timezone which is identical in layout to 's struct timezone. But then I realized there is another clash to also fix - if the user does: #include #include then how do they refer to struct timeb.timezone? Maybe the correct fix is a cygwin-specific newlib patch to both sys/timeb.h and sys/time.h that moves the #include earlier in the file, so that timezone is redefined to _timezone before any other declaration that tries to use the name timezone. -- Eric Blake -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/