#2110 Regtest gcc-torture-execute-20060110-1 fails on ARM, ucgbz80

closed-duplicate
None
5
2012-11-22
2012-11-20
Borut Ražem
No

Regression test gcc-torture-execute-20060110-1 fails on ARM (Raspberry Pi) platform, ucgbz80 target with:

gen/ucgbz80/gcc-torture-execute-20060110-1/gcc-torture-execute-20060110-1.out:9:--- FAIL: "Assertion failed" on 0 at gen/ucgbz80/gcc-torture-execute-20060110-1/gcc-torture-execute-20060110-1.c:27

Borut

Discussion

  • Borut Ražem
    Borut Ražem
    2012-11-21

    The regtest failure is a consequence of unimplemented support for long long literals:

    long long a = 0x1234567876543210LL; // a = 0xffffffff due to strtoul overflow
    long long b = (0x1234567876543210LL << 32) >> 32; // b = 0 on ARM and b = 0xffffffff on other platforms

    It seems that x << n is actually x << (n % (sizeof(unsigned long) * 8)) on non ARM architectures, so 0xffffffff << 32 results 0xffffffff.

    I propose to exclude/disable this test until support for long long literals is implemented.

    P.S.: It is still a mystery for me why this test doesn't fail for all targets on ARM architecture...

    Borut

     
  • I've disabled the test in revision #8227.

    These failures due to unimplemented long long constants are weird in appearing only on some platform/target combinations.

    Philipp

     
    • assigned_to: nobody --> spth
    • status: open --> closed-duplicate