Message-ID: <002801c20126$ab7bd680$0102a8c0@acceleron> From: "Andrew Cottrell" To: Cc: "Andris Pavenis" Subject: GCC 3.1 & CVS LIBC failure Date: Wed, 22 May 2002 10:21:20 +1000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Reply-To: djgpp-workers AT delorie DOT com All, I thought I should update to GCC 3.1 seeing how yesterday it was available from the v2gnu directory on Simtel. I have not gotten to the bottom of this yet, but so far GCC 3.1 gives the following error when building the CVS LIBC. I did a CVS LIBC refresh yesterday afternoon (now morning in OZ) to ensure I had the latest files. d:/dj204/bin/make.exe -C ansi/stdio ...SNIP... gcc ... -c fprintf.c cc1.exe: warnings being treated as errors fprintf.c: In function `fprintf': fprintf.c:16: warning: passing arg 2 of `_doprnt' from incompatible pointer type fprintf.c:24: warning: passing arg 2 of `_doprnt' from incompatible pointer type make.exe[3]: *** [fprintf.o] Error 1 make.exe[2]: *** [all_subs] Error 2 make.exe[1]: *** [all] Error 2 make.exe: *** [subs] Error 2 It looks like the definition of __builtin_va_list has changed between GCC 3.04 and 3.1 as the code built okay with 3.04 from early last month. The va_list is defined in include\sys\djtypes.h as follows:- /* For GCC 3.00 or later we use its builtin va_list. */ /* In most cases these definitions won't be used, because headers provided */ /* by GCC hide them. But we can DTRT if GCC headers are missing. */ #if __GNUC__ >= 3 #define __DJ_va_list typedef __builtin_va_list va_list; #else #define __DJ_va_list typedef void *va_list; #endif Any ideas on fixing this one? Andrew