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: unassig...@gcc.gnu.org
        ReportedBy: c...@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.

Reply via email to