This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

3.0.3 PATCH: Properly fix stdio.h on Tru64 UNIX V5.1A


As reported in PR libf2c/4826 and mentioned both on several mailing lists
(like tru64-unix-managers) and in private mail, GCC 3.0.2 fails to
bootstrap on Tru64 UNIX V5.1A.

I've analyzed the failure based on a copy of the V5.1A stdio.h: compared to
V5.1, Compaq changed various prototypes to use __VA_LIST__ instead of
va_list/__va_list, and fixincludes didn't know about this and thus couldn't
properly fix those prototypes to use __gnuc_va_list instead.  The patch
below fixes this and allows GCC 3.0.2 to bootstrap on that platform; not
having access to such a system myself, I cannot report testsuite results
yet (but hope to get them from one of the various reporters of this bug).

Ok for branch and mainline?

	Rainer

-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University

Email: ro@TechFak.Uni-Bielefeld.DE


Wed Nov 21 18:58:37 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
	
	* fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
	UNIX V5.1A stdio.h.
	* fixinc/fixincl.x: Regenerate.
	Fixes PR libf2c/4826.
	
Index: inclhack.def
===================================================================
RCS file: /cvs/gcc/gcc/gcc/fixinc/inclhack.def,v
retrieving revision 1.101.2.15
diff -u -p -r1.101.2.15 inclhack.def
--- inclhack.def	2001/09/13 02:38:12	1.101.2.15
+++ inclhack.def	2001/11/26 19:27:31
@@ -2223,7 +2223,8 @@ fix = {
 
     /*
      * Use __gnuc_va_list in arg types in place of va_list.
-     * On 386BSD use __gnuc_va_list instead of _VA_LIST_.  We're hoping the
+     * On 386BSD use __gnuc_va_list instead of _VA_LIST_.  On Tru64 UNIX V5.1A
+     * use __gnuc_va_list instead of __VA_LIST__.  We're hoping the
      * trailing parentheses and semicolon save all other systems from this.
      * Define __not_va_list__ (something harmless and unused)
      * instead of va_list.
@@ -2232,6 +2233,7 @@ fix = {
     sed = "s@ va_list @ __gnuc_va_list @\n"
           "s@ va_list)@ __gnuc_va_list)@\n"
           "s@ _VA_LIST_));@ __gnuc_va_list));@\n"
+          "s@ __VA_LIST__));@ __gnuc_va_list));@\n"
           "s@ va_list@ __not_va_list__@\n"
           "s@\\*va_list@*__not_va_list__@\n"
           "s@ __va_list)@ __gnuc_va_list)@\n"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]