#1939 gcc-torture-execute-991016-1.c regression test failing


The regresion test mentioned above fails to compile (with a proper error message for targets that do not support long long, and with a crash otherwise).



  • Erik Petrich

    Erik Petrich - 2012-03-22

    Revision #7477 implements a few more of the needed pieces of long long support in the front end. The assignment "*p2 += *p2" is being transformed into "*p2 = *p2 << 1", but the port struct indicates that the back end can only directly handle shifts with variables of up to 2 bytes. So the shift is being replaced with a call to a support function. Previously sdcc was crashing because it had no internal declaration of a suitable support function. Now the back end is reporting internal errors because it does not know how to handle a function returning a long long.

  • Philipp Klaus Krause

    Returning long long was implemented some time ago. I just tested, and this test passes for me for the ports that support long long, so I enabled the test for them in revision #8108.


  • Philipp Klaus Krause

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

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks