summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/decl.c13
-rw-r--r--gcc/invoke.texi7
4 files changed, 25 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 450007aa998..f464a4a05f4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+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
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 577cf532fa9..df72dfe3d0a 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+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
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 8376282bcfc..c91ba6082ee 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -3717,11 +3717,8 @@ duplicate_decls (newdecl, olddecl)
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);
@@ -6372,6 +6369,12 @@ init_decl_processing ()
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;
diff --git a/gcc/invoke.texi b/gcc/invoke.texi
index 537060eb55b..80cd33e31ee 100644
--- a/gcc/invoke.texi
+++ b/gcc/invoke.texi
@@ -972,6 +972,13 @@ and faster, but since the function calls no longer appear as such, you
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