diff options
author | peter <peter@FreeBSD.org> | 2003-10-24 02:50:39 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2003-10-24 02:50:39 +0000 |
commit | ede4ea68aa4377e9303c1ca13d6fdb968e4eb2e0 (patch) | |
tree | 3f1aa0589010c4cd0dfa7f08a9649993ee81b413 | |
parent | 9dca341e0649a0f59115443961ac926cc1d7c4d9 (diff) | |
download | FreeBSD-src-ede4ea68aa4377e9303c1ca13d6fdb968e4eb2e0.zip FreeBSD-src-ede4ea68aa4377e9303c1ca13d6fdb968e4eb2e0.tar.gz |
Add __va_copy and make it always visible, in spite of the __ISO_C_VISIBLE
setting. Make va_copy be an alias if __ISO_C_VISIBLE >= 1999.
Why? more than a few ports have an autoconf that looks for __va_copy
because it is available on glibc. It is critical that we use it if
at all possible on amd64. It generally isn't a problem for i386 and its
ilk because autoconf driven code tends to fall back to an assignment.
-rw-r--r-- | sys/amd64/include/stdarg.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/amd64/include/stdarg.h b/sys/amd64/include/stdarg.h index c13137d..60a204a 100644 --- a/sys/amd64/include/stdarg.h +++ b/sys/amd64/include/stdarg.h @@ -46,9 +46,12 @@ typedef __va_list va_list; #define va_arg(ap, type) \ __builtin_va_arg((ap), type) +#define __va_copy(dest, src) \ + __builtin_va_copy((dest), (src)) + #if __ISO_C_VISIBLE >= 1999 #define va_copy(dest, src) \ - __builtin_va_copy((dest), (src)) + __va_copy(dest, src) #endif #define va_end(ap) \ |