gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring "inline" keyword.
authorJakub Jelinek <jakub@redhat.com>
Sat, 5 May 2001 12:29:39 +0000 (14:29 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sat, 5 May 2001 12:29:39 +0000 (14:29 +0200)
* gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
"inline" keyword.
* cpp.texi (__NO_INLINE): Document it.

From-SVN: r41866

gcc/ChangeLog
gcc/cpp.texi
gcc/gcc.c

index 06727576cdf4bfd2d7c97c0d68bf703bee339cdf..83355b1a0a82f8d3733cb892ee189f7b069242f6 100644 (file)
@@ -1,3 +1,9 @@
+2001-05-05  Jakub Jelinek  <jakub@redhat.com
+
+       * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
+       "inline" keyword.
+       * cpp.texi (__NO_INLINE): Document it.
+
 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
 
        * cppfiles.c (struct include_file): New member err_no.
index 58544270cd61656fba1e7ed0f992f088375e3876..ba50a260c53326e58575eb4f99dad533a80e19c1 100644 (file)
@@ -1200,6 +1200,16 @@ for some system library functions.  You should not refer to or test the
 definition of this macro unless you make very sure that programs will
 execute with the same effect regardless.
 
+@item __NO_INLINE__
+@findex __NO_INLINE__
+GNU CC defines this macro if it will not attempt to inline functions
+with @samp{inline} keyword (either when not optimizing or when inlining
+has been explicitely forbidden through @samp{-fno-inline}).  It causes
+certain GNU header files to define alternative macro definitions for some
+system library functions.  You should not refer to or test the definition
+of this macro unless you make very sure that programs will execute with
+the same effect regardless.
+
 @item __CHAR_UNSIGNED__
 @findex __CHAR_UNSIGNED__
 GNU C defines this macro if and only if the data type @code{char} is
index 643345e1b13e07d22070c8c47121211de941b7a8..34047e64422fa1adbfb4a2d635616e46218afb9d 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -647,7 +647,7 @@ static const char *cpp_options =
  %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3}\
  %{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs}\
  %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\
- %{ffast-math:-D__FAST_MATH__}\
+ %{fno-inline|O0|!O*:-D__NO_INLINE__} %{ffast-math:-D__FAST_MATH__}\
  %{fshort-wchar:-U__WCHAR_TYPE__ -D__WCHAR_TYPE__=short\\ unsigned\\ int}\
  %{ffreestanding:-D__STDC_HOSTED__=0} %{fno-hosted:-D__STDC_HOSTED__=0}\
  %{!ffreestanding:%{!fno-hosted:-D__STDC_HOSTED__=1}}\