11706 vs ([lno] Canonical iv creation)

Gabriel Dos Reis gdr@integrable-solutions.net
Sat Mar 13 23:02:00 GMT 2004


Paolo Carlini <pcarlini@suse.de> writes:

|   using ::pow;

[...]

|   inline double
|   pow(double __x, double __y)
|   { return __builtin_pow(__x, __y); }

That is wrong. ::pow is a "C" function with the same signature.
If you do that you get into trouble because at best it is an endless
recursive definition -- technically, it is an ODR violation.
Leave ::pow alone, don't touch it.  Unless you have full control over
the target's <math.h>.

-- Gaby



More information about the Libstdc++ mailing list