summaryrefslogtreecommitdiff
path: root/gcc/extend.texi
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-02-08 22:02:13 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-02-08 22:02:13 +0000
commit5a967f61cfbf5be4cec6ef3bd3a004f89720fcb6 (patch)
tree3124911c1cb5b517283d1448d6c7b7a7862212e7 /gcc/extend.texi
parentbfad7cb6614d24d63c306b5fcaeb5b7dbe70e915 (diff)
downloadgcc-5a967f61cfbf5be4cec6ef3bd3a004f89720fcb6.tar.gz
Clarify inline substitution failure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25103 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/extend.texi')
-rw-r--r--gcc/extend.texi12
1 files changed, 9 insertions, 3 deletions
diff --git a/gcc/extend.texi b/gcc/extend.texi
index 88f4588659f..a90be58e7aa 100644
--- a/gcc/extend.texi
+++ b/gcc/extend.texi
@@ -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.