Clarify inline substitution failure.
authorRichard Henderson <rth@gcc.gnu.org>
Mon, 8 Feb 1999 22:02:13 +0000 (14:02 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 8 Feb 1999 22:02:13 +0000 (14:02 -0800)
From-SVN: r25103

gcc/extend.texi

index 88f4588659f5f609f643bfa3a97f57545daa6bc4..a90be58e7aaf4bae0ae9c823fcba7c7fc9d67c6d 100644 (file)
@@ -2258,10 +2258,16 @@ inc (int *a)
 
 (If you are writing a header file to be included in ANSI C programs, write
 @code{__inline__} instead of @code{inline}.  @xref{Alternate Keywords}.)
-
 You can also make all ``simple enough'' functions inline with the option
-@samp{-finline-functions}.  Note that certain usages in a function
-definition can make it unsuitable for inline substitution.
+@samp{-finline-functions}. 
+
+Note that certain usages in a function definition can make it unsuitable
+for inline substitution.  Among these usages are: use of varargs, use of
+alloca, use of variable sized data types (@pxref{Variable Length}),
+use of computed goto (@pxref{Labels as Values}), use of nonlocal goto,
+and nested functions (@pxref{Nested Functions}).  Using @samp{-Winline}
+will warn when a function marked @code{inline} could not be substituted,
+and will give the reason for the failure.
 
 Note that in C and Objective C, unlike C++, the @code{inline} keyword
 does not affect the linkage of the function.