[Bug middle-end/56167] New: ICE with invalid __attribute__ arguments

d.g.gorbachev at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Feb 1 01:50:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56167

             Bug #: 56167
           Summary: ICE with invalid __attribute__ arguments
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: d.g.gorbachev@gmail.com


$ cat > bug.c
extern void foo(void) __attribute__((target(0)));

int main(void)
{
  foo();
  return 0;
}
^D
$ gcc -S bug.c
bug.c:1:1: internal compiler error: in ix86_valid_target_attribute_inner_p, at
config/i386/i386.c:4226
 extern void foo(void) __attribute__((target(0)));
 ^
[...]
$ sed -i s/target/error/ bug.c
$ gcc -S bug.c
bug.c: In function 'main':
bug.c:5:6: internal compiler error: tree check: expected string_cst, have
integer_cst in expand_expr_real_1, at expr.c:10191
   foo();
      ^
[...]
$ sed -i s/error/warning/ bug.c
$ gcc -S bug.c
bug.c: In function 'main':
bug.c:5:6: internal compiler error: tree check: expected string_cst, have
integer_cst in expand_expr_real_1, at expr.c:10198
   foo();
      ^
[...]

A few other __attribute__ bugs:

$ sed -i s/warning/weakref/ bug.c
$ gcc -S bug.c
bug.c:1:1: error: attribute 'alias' argument not a string
 extern void foo(void) __attribute__((weakref(0)));
 ^
bug.c:1:13: warning: 'weakref' attribute should be accompanied with an 'alias'
attribute [-Wattributes]
 extern void foo(void) __attribute__((weakref(0)));
             ^
$ sed -i s/weakref/section/ bug.c
$ gcc -S bug.c
bug.c:1:13: error: section attribute not allowed for 'foo'
 extern void foo(void) __attribute__((section(0)));
             ^
$ echo 'void *foo(int) __attribute__((alloc_size("1")));' > 1.c
$ gcc -S 1.c
1.c:1:1: warning: alloc_size parameter outside range [-Wattributes]
 void *foo(int) __attribute__((alloc_size("1")));
 ^



More information about the Gcc-bugs mailing list