From a3e2f3c2b15053a2f9faccc62947b82f2219599f Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 25 Jun 2013 22:26:20 -0400 Subject: respect iso c namespace in stdio.h and wchar.h regarding va_list despite declaring functions that take arguments of type va_list, these headers are not permitted by the c standard to expose the definition of va_list, so an alias for the type must be used. the name __isoc_va_list was chosen to convey that the purpose of this alternate name is for iso c conformance, and to avoid the multitude of names which gcc mangles with its hideous "fixincludes" monstrosity, leading to serious header breakage if these "fixes" are run. --- arch/arm/bits/alltypes.h.sh | 1 + arch/i386/bits/alltypes.h.sh | 2 ++ arch/microblaze/bits/alltypes.h.sh | 1 + arch/mips/bits/alltypes.h.sh | 1 + arch/powerpc/bits/alltypes.h.sh | 1 + arch/x86_64/bits/alltypes.h.sh | 1 + 6 files changed, 7 insertions(+) (limited to 'arch') diff --git a/arch/arm/bits/alltypes.h.sh b/arch/arm/bits/alltypes.h.sh index 62e0327c..748b8730 100755 --- a/arch/arm/bits/alltypes.h.sh +++ b/arch/arm/bits/alltypes.h.sh @@ -21,6 +21,7 @@ TYPEDEF int ssize_t; TYPEDEF int ptrdiff_t; TYPEDEF __builtin_va_list va_list; +TYPEDEF __builtin_va_list __isoc_va_list; #ifndef __cplusplus TYPEDEF unsigned wchar_t; diff --git a/arch/i386/bits/alltypes.h.sh b/arch/i386/bits/alltypes.h.sh index 76c50ec1..85776a83 100755 --- a/arch/i386/bits/alltypes.h.sh +++ b/arch/i386/bits/alltypes.h.sh @@ -22,8 +22,10 @@ TYPEDEF int ptrdiff_t; #if __GNUC__ >= 3 TYPEDEF __builtin_va_list va_list; +TYPEDEF __builtin_va_list __isoc_va_list; #else TYPEDEF struct __va_list * va_list; +TYPEDEF struct __va_list * __isoc_va_list; #endif #ifndef __cplusplus diff --git a/arch/microblaze/bits/alltypes.h.sh b/arch/microblaze/bits/alltypes.h.sh index 268321a1..a5acd494 100755 --- a/arch/microblaze/bits/alltypes.h.sh +++ b/arch/microblaze/bits/alltypes.h.sh @@ -21,6 +21,7 @@ TYPEDEF int ssize_t; TYPEDEF int ptrdiff_t; TYPEDEF __builtin_va_list va_list; +TYPEDEF __builtin_va_list __isoc_va_list; #ifndef __cplusplus TYPEDEF int wchar_t; diff --git a/arch/mips/bits/alltypes.h.sh b/arch/mips/bits/alltypes.h.sh index 268321a1..a5acd494 100755 --- a/arch/mips/bits/alltypes.h.sh +++ b/arch/mips/bits/alltypes.h.sh @@ -21,6 +21,7 @@ TYPEDEF int ssize_t; TYPEDEF int ptrdiff_t; TYPEDEF __builtin_va_list va_list; +TYPEDEF __builtin_va_list __isoc_va_list; #ifndef __cplusplus TYPEDEF int wchar_t; diff --git a/arch/powerpc/bits/alltypes.h.sh b/arch/powerpc/bits/alltypes.h.sh index 5fe05e27..77d335bb 100755 --- a/arch/powerpc/bits/alltypes.h.sh +++ b/arch/powerpc/bits/alltypes.h.sh @@ -21,6 +21,7 @@ TYPEDEF int ssize_t; TYPEDEF int ptrdiff_t; TYPEDEF __builtin_va_list va_list; +TYPEDEF __builtin_va_list __isoc_va_list; #ifndef __cplusplus TYPEDEF long wchar_t; diff --git a/arch/x86_64/bits/alltypes.h.sh b/arch/x86_64/bits/alltypes.h.sh index a6c90327..d3550f56 100755 --- a/arch/x86_64/bits/alltypes.h.sh +++ b/arch/x86_64/bits/alltypes.h.sh @@ -20,6 +20,7 @@ TYPEDEF unsigned long size_t; TYPEDEF long ssize_t; TYPEDEF long ptrdiff_t; TYPEDEF __builtin_va_list va_list; +TYPEDEF __builtin_va_list __isoc_va_list; #ifndef __cplusplus TYPEDEF int wchar_t; -- cgit v1.2.1