d52e4867ca
* include/c_std/std_cmath.h: To prevent problems overloading g++ builtins, use the double variants from the global namespace before defining float and long double variants in std::. PR c++/5998: * decl.c (cxx_init_decl_processing): Re-enable built-in functions in the g++ front-end. (duplicate_decl): Allow redefinition of anticipated built-ins. Fix inlining problem by over-writing the old DECL_RTL. (lookup_namespace_name): Fail to find an identifier in the specified namespace if its still anticipated. (builtin_function_1): New function split out from builtin_function to create a builtin in the current namespace with given context. (builtin_function): Call builtin_function_1 to define the appropriate builtins in both the std and global namespaces. (select_decl): Don't test for anticipated decls here. (unqualified_namespace_lookup): Instead ignore them whilst searching through scopes and namespaces. * decl2.c (do_nonmember_using_decl): If a using declaration specifies an anticipated built-in function, mark it as no longer anticipated in that scope. (ambiguous_decl): Avoid resolving to an anticipated decl. * lex.c (do_scoped_id): Fail to find an identifier in the global namespace if its still anticipated. * g++.old-deja/g++.other/builtins5.C: New test. * g++.old-deja/g++.other/builtins6.C: New test. * g++.old-deja/g++.other/builtins7.C: New test. * g++.old-deja/g++.other/builtins8.C: New test. * g++.old-deja/g++.other/builtins9.C: New test. From-SVN: r51568 |
||
---|---|---|
.. | ||
cmath.tcc | ||
std_cassert.h | ||
std_cctype.h | ||
std_cerrno.h | ||
std_cfloat.h | ||
std_ciso646.h | ||
std_climits.h | ||
std_clocale.h | ||
std_cmath.h | ||
std_csetjmp.h | ||
std_csignal.h | ||
std_cstdarg.h | ||
std_cstddef.h | ||
std_cstdio.h | ||
std_cstdlib.h | ||
std_cstring.h | ||
std_ctime.h | ||
std_cwchar.h | ||
std_cwctype.h |