[Bug middle-end/84603] New: -finline-limit not accepted in attribute and #pragma optimize
msebor at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Feb 27 20:31:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84603
Bug ID: 84603
Summary: -finline-limit not accepted in attribute and #pragma
optimize
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: msebor at gcc dot gnu.org
Target Milestone: ---
In testing my patch for bug 83871 I tried to verify that
DECL_DISREGARD_INLINE_LIMITS() is being handled as expected by
duplicate_decls(). I found out that even though the C and C++ front ends try
to handle the limits the -finline-limit option itself is not recognized by
either attribute optimize or #pragma GCC optimize.
Debugging the code shows that the warning is issued by parse_optimize_options()
in response to options that aren't tagged as optimization options. Sure
enough, common.opt doesn't specify Optimization for the option:
finline-limit-
Common RejectNegative Joined Alias(finline-limit=)
finline-limit=
Common RejectNegative Joined UInteger
-finline-limit=<number> Limit the size of inlined functions to
<number>.
$ cat b.c && gcc -O1 -S -Wall -Wextra -finline-limit=16 b.c
#pragma GCC optimize ("inline-functions")
void f0 (void);
#pragma GCC optimize ("align-loops=32")
void f1 (void);
#pragma GCC optimize ("inline-limit=32")
void f2 (void);
void __attribute__ ((optimize ("inline-functions")))
f3(void);
void __attribute__ ((optimize ("inline-limit=100")))
f4 (void);
b.c:9:9: warning: bad option ‘-finline-limit=32’ to pragma ‘optimize’
[-Wpragmas]
#pragma GCC optimize ("inline-limit=32")
^~~
b.c:11:1: warning: bad option ‘-finline-limit=32’ to attribute ‘optimize’
[-Wattributes]
void f2 (void);
^~~~
b.c:14:1: warning: bad option ‘-finline-limit=32’ to attribute ‘optimize’
[-Wattributes]
f3(void);
^~
b.c:17:1: warning: bad option ‘-finline-limit=32’ to attribute ‘optimize’
[-Wattributes]
f4 (void);
^~
b.c:17:1: warning: bad option ‘-finline-limit=100’ to attribute ‘optimize’
[-Wattributes]
More information about the Gcc-bugs
mailing list