Fix <complex.h> parse error with __LDBL_COMPAT
Andreas Schwab
schwab@suse.de
Sun May 14 10:25:00 GMT 2006
GCC can't parse this as C++ code:
extern long double _Complex cacosl (long double _Complex __z) __asm__ ("" "cacos") throw ();
complex.cc:1: error: expected initializer before ‘throw’
This breaks configuring libstdc++, when it tries to find out whether
<complex.h> is C99 complatible.
__REDIRECT_NTH takes care of that.
Andreas.
2006-05-14 Andreas Schwab <schwab@suse.de>
* math/complex.h [__LDBL_COMPAT]: Use __REDIRECT_NTH.
--- math/complex.h.~1.16.~ 2006-01-16 11:23:00.000000000 +0100
+++ math/complex.h 2006-05-14 12:20:44.000000000 +0200
@@ -89,7 +89,7 @@ __BEGIN_DECLS
# ifdef __LDBL_COMPAT
# undef __MATHDECL_1
# define __MATHDECL_1(type, function, args) \
- extern type __REDIRECT(__MATH_PRECNAME(function), args, function) __THROW
+ extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, function)
# endif
# ifndef _Mlong_double_
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Libc-hacker
mailing list