This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/48088] New: -Werror=frame-larger-than=100 does not work as expected
- From: "cgd at google dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 12 Mar 2011 07:25:36 +0000
- Subject: [Bug c/48088] New: -Werror=frame-larger-than=100 does not work as expected
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48088
Summary: -Werror=frame-larger-than=100 does not work as
expected
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: cgd@google.com
the gcc manual says:
Note that specifying @option{-Werror=}@var{foo} automatically implies
@option{-W}@var{foo}. However, @option{-Wno-error=}@var{foo} does not
imply anything.
That's easily understood to mean that, for instance:
-Werror=frame-larger-than=500
implies
-Wframe-larger-than=500
however, it doesn't. it seems to imply -Wframe-larger-than=1.
Worse, -Werror=frame-larger-than= clobbers any previous -Wframe-larger-than=
value.
/tmp/x.c:
int x() {
int x[5];
}
$ gcc-svn/inst/bin/gcc -Wframe-larger-than=100 /tmp/x.c -c
$
-> OK, the frame is smaller than 100.
$ gcc-svn/inst/bin/gcc -Werror=frame-larger-than=100 /tmp/x.c -c
/tmp/x.c: In function 'x':
/tmp/x.c:3:1: error: the frame size of 32 bytes is larger than 1 bytes
[-Werror=frame-larger-than=]
cc1: some warnings being treated as errors
$
-> OK, that's kinda odd.
$ gcc-svn/inst/bin/gcc -Wframe-larger-than=100 -Werror=frame-larger-than=100
/tmp/x.c -c
/tmp/x.c: In function 'x':
/tmp/x.c:3:1: error: the frame size of 32 bytes is larger than 1 bytes
[-Werror=frame-larger-than=]
cc1: some warnings being treated as errors
$
-> eh?
$ gcc-svn/inst/bin/gcc -Wframe-larger-than=100 -Werror=frame-larger-than=
/tmp/x.c -c
/tmp/x.c: In function 'x':
/tmp/x.c:3:1: error: the frame size of 32 bytes is larger than 1 bytes
[-Werror=frame-larger-than=]
cc1: some warnings being treated as errors
$
-> eh?
$ gcc-svn/inst/bin/gcc -Werror=frame-larger-than= -Wframe-larger-than=100
/tmp/x.c -c
$
-> order apparently matters.