summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2001-05-05 14:29:39 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2001-05-05 14:29:39 +0200
commit2a9071bb2f453b5d36ea3149c36ac27df57629fd (patch)
tree3335fa9b40dbe8a0b349b3013c77a50ea592bfb1 /gcc
parentf277b5e03b84f165522aadcaf16a7cfddecfc087 (diff)
downloadgcc-2a9071bb2f453b5d36ea3149c36ac27df57629fd.tar.gz
gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring "inline" keyword.
* gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring "inline" keyword. * cpp.texi (__NO_INLINE): Document it. From-SVN: r41866
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cpp.texi10
-rw-r--r--gcc/gcc.c2
3 files changed, 17 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 06727576cdf..83355b1a0a8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/cpp.texi b/gcc/cpp.texi
index 58544270cd6..ba50a260c53 100644
--- a/gcc/cpp.texi
+++ b/gcc/cpp.texi
@@ -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
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 643345e1b13..34047e64422 100644
--- 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}}\