summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-06-25 22:26:20 -0400
committerRich Felker <dalias@aerifal.cx>2013-06-25 22:26:20 -0400
commita3e2f3c2b15053a2f9faccc62947b82f2219599f (patch)
treec5b3ffd73fa661da51da13e76c897f2ab90aa968 /arch
parent8813c956e506d57065b7089a98c8fcef1ef58c47 (diff)
downloadmusl-a3e2f3c2b15053a2f9faccc62947b82f2219599f.tar.gz
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.
Diffstat (limited to 'arch')
-rwxr-xr-xarch/arm/bits/alltypes.h.sh1
-rwxr-xr-xarch/i386/bits/alltypes.h.sh2
-rwxr-xr-xarch/microblaze/bits/alltypes.h.sh1
-rwxr-xr-xarch/mips/bits/alltypes.h.sh1
-rwxr-xr-xarch/powerpc/bits/alltypes.h.sh1
-rwxr-xr-xarch/x86_64/bits/alltypes.h.sh1
6 files changed, 7 insertions, 0 deletions
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;