+2001-05-24 Mark Mitchell <mark@codesourcery.com>
+
+ * invoke.texi (-fno-builtin): Document that this is always on
+ in C++.
+
2001-05-24 Philip Blundell <philb@gnu.org>
* doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
+2001-05-24 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (duplicate_decls): Tidy.
+ (init_decl_processing): Always set flag_no_builtin.
+
2001-05-24 Nathan Sidwell <nathan@codesourcery.com>
PR c++/2184
DECL_ARGUMENTS (newdecl) = DECL_ARGUMENTS (olddecl);
}
}
-
- if (TREE_CODE (newdecl) == NAMESPACE_DECL)
- {
- NAMESPACE_LEVEL (newdecl) = NAMESPACE_LEVEL (olddecl);
- }
+ else if (TREE_CODE (newdecl) == NAMESPACE_DECL)
+ NAMESPACE_LEVEL (newdecl) = NAMESPACE_LEVEL (olddecl);
/* Now preserve various other info from the definition. */
TREE_ADDRESSABLE (newdecl) = TREE_ADDRESSABLE (olddecl);
flag_inline_functions = 0;
}
+ /* In C++, we never create builtin functions whose name does not
+ begin with `__'. Users should be using headers to get prototypes
+ in C++. It would be nice if we could warn when `-fbuiltin' is
+ used explicitly, but we do not have that information. */
+ flag_no_builtin = 1;
+
/* Initially, C. */
current_lang_name = lang_name_c;
cannot set a breakpoint on those calls, nor can you change the behavior
of the functions by linking with a different library.
+In C++, @samp{-fno-builtin} is always in effect. The @samp{-fbuiltin}
+option has no effect. Therefore, in C++, the only way to get the
+optimization benefits of builtin functions is to call the function
+using the @samp{__builtin_} prefix. The GNU C++ Standard Library uses
+builtin functions to implement many functions (like
+@code{std::strchr}), so that you automatically get efficient code.
+
@item -fhosted
@cindex hosted environment