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



             Bug #: 56115

           Summary: Internal compiler error / unable to generate a

                    relocatable output with object file(which is with lto

                    info).

    Classification: Unclassified

           Product: gcc

           Version: 4.7.1

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: c

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

        ReportedBy: tanji...@huawei.com





I was testing this test case ./gcc.c-torture/execute/vshuf-v8qi.c individually.

The host_triplet is i586-suse-linux,build_triplet is i586-suse-linux,and

target_triplet arm-eabi.

Then  I got a compiler crash.

I cooked it down to the example below:



>armeb-linux-gnueabi-gcc crash.c -c  -flto -O2  -o crash.out

>arm-eabi-gcc -r -nostdlib -flto crash.out -o a.out



In file included from crash.c:8:0,

                 from :0:

crash.c: In function 'main':

crash.c:12:7: internal compiler error: in expand_expr_real_2, at expr.c:8808

Please submit a full bug report,

with preprocessed source if appropriate.

See <http://gcc.gnu.org/bugs.html> for instructions.

lto-wrapper: ./new/install/bin/armeb-linux-gnueabi-gcc returned 1 exit status

/home/tjf/SVN/new/install/bin/../lib/gcc/armeb-linux-gnueabi/4.7.1/../../../../armeb-linux-gnueabi/bin/ld:

lto-wrapper failed

collect2: error: ld returned 1 exit status



-----------crash.c------------------

typedef char V __attribute__((vector_size(8)));

struct S

{

  V in;

  V mask;

  V out;

};

struct S sss={{ 0, 1, 2, 3, 4, 5, 6, 7 },{ 8, 9, 10, 11, 12, 13, 14, 15 },{ 0,

1, 2, 3, 4, 5, 6, 7 }};

extern void abort(void);

int main()

{

V r = __builtin_shuffle(sss.in,sss.mask);

__builtin_memcmp(&r,&sss.out, sizeof(V));

abort();

  return 0;

}

Reply via email to