aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 0672757..83355b1 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 5854427..ba50a26 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 643345e..34047e6 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}}\