From 5a967f61cfbf5be4cec6ef3bd3a004f89720fcb6 Mon Sep 17 00:00:00 2001 From: rth Date: Mon, 8 Feb 1999 22:02:13 +0000 Subject: Clarify inline substitution failure. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25103 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/extend.texi | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'gcc/extend.texi') 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. -- cgit v1.2.1