aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/invoke.texi
diff options
context:
space:
mode:
authorJoseph Myers <jsm28@cam.ac.uk>2001-11-18 03:30:57 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2001-11-18 03:30:57 +0000
commit7d14c755ce793f99c3e833e7115d954cfbed175c (patch)
tree3bf2e6da7732b3b856461efc1c4fffe0eba2760d /gcc/doc/invoke.texi
parent74a3070ffad610701440467a2bd0b6627a76e568 (diff)
downloadgcc-7d14c755ce793f99c3e833e7115d954cfbed175c.zip
gcc-7d14c755ce793f99c3e833e7115d954cfbed175c.tar.gz
gcc-7d14c755ce793f99c3e833e7115d954cfbed175c.tar.bz2
c-common.c (struct disabled_builtin, [...]): New.
* c-common.c (struct disabled_builtin, disabled_builtins, disable_builtin_function, builtin_function_disabled_p): New. (builtin_function_2): Check for disabled built-in functions. * c-common.h (disable_builtin_function): Declare. * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION. * doc/invoke.texi: Document -fno-builtin-FUNCTION. * doc/extend.texi: Mention -fno-builtin-FUNCTION. testsuite: * gcc.dg/no-builtin-1.c: New test. From-SVN: r47133
Diffstat (limited to 'gcc/doc/invoke.texi')
-rw-r--r--gcc/doc/invoke.texi17
1 files changed, 16 insertions, 1 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index c8bfd474..83e5c97 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -162,7 +162,7 @@ in the following sections.
@xref{C Dialect Options,,Options Controlling C Dialect}.
@gccoptlist{
-ansi -std=@var{standard} -aux-info @var{filename} @gol
--fno-asm -fno-builtin @gol
+-fno-asm -fno-builtin -fno-builtin-@var{function} @gol
-fhosted -ffreestanding @gol
-trigraphs -traditional -traditional-cpp @gol
-fallow-single-precision -fcond-mismatch @gol
@@ -1025,6 +1025,7 @@ switch only affects the @code{asm} and @code{typeof} keywords, since
@code{inline} is a standard keyword in ISO C99.
@item -fno-builtin
+@itemx -fno-builtin-@var{function} @r{(C and Objective-C only)}
@opindex fno-builtin
@cindex built-in functions
Don't recognize built-in functions that do not begin with
@@ -1049,6 +1050,20 @@ using the @samp{__builtin_} prefix. The GNU C++ Standard Library uses
built-in functions to implement many functions (like
@code{std::strchr}), so that you automatically get efficient code.
+With the @option{-fno-builtin-@var{function}} option, not available
+when compiling C++, only the built-in function @var{function} is
+disabled. @var{function} must not begin with @samp{__builtin_}. If a
+function is named this is not built-in in this version of GCC, this
+option is ignored. There is no corresponding
+@option{-fbuiltin-@var{function}} option; if you wish to enable
+built-in functions selectively when using @option{-fno-builtin} or
+@option{-ffreestanding}, you may define macros such as:
+
+@smallexample
+#define abs(n) __builtin_abs ((n))
+#define strcpy(d, s) __builtin_strcpy ((d), (s))
+@end smallexample
+
@item -fhosted
@opindex fhosted
@cindex hosted environment