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



             Bug #: 56406

           Summary: attribute((target(xpto))) causes ICE in i386 and

                    rs6000

    Classification: Unclassified

           Product: gcc

           Version: 4.7.3

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: target

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: pa...@matos-sorge.com





While doing some tests I came across this ICE:

int __attribute__((__target__(xpto)))

foo(int x)

{

  if (x == 1)

    return x;

  else

    return x * foo (x-1);

}





If any word instead  of xpto works. The compiler fails with:

internal compiler error: in ix86_valid_target_attribute_inner_p, at

config/i386/i386.c:4214





This is because it's expecting either a STRING_CST ("xpto") or a TREE_CHAIN. If

an identifier node is seen instead we hit a gcc_unreachable. The other backend

that should be affected by this (but I didn't reproduce it) is rs6000.

Reply via email to