Menu

#2712 compiler crash when doing long multiplications

closed-fixed
None
STM8
5
2018-03-05
2018-02-02
akre
No

Compiler crashes when doing long multiplications. The crash is caused by convilong (SDCCopt.c) is trashing the operands used by other long multiplications. In other words the first multiply is converted to a library call and at the same time trashing the operands. When converting the second multiply the compiler crashes. This bug is possibly affecting other ports as well.

sdcc -mstm8 -I /somepath/include/ -L /somepath/device/lib/build/stm8/ -c test_convilong_bug.c

test_convilong_bug.c:13: error 9: FATAL Compiler Internal Error in file '../../src/SDCCopt.c' line number '804' : 0
Contact Author with source code

Test was done on latest trunk version.

1 Attachments

Discussion

  • Philipp Klaus Krause

    This issue seems specific to backends that have support for 16x16->32 multiplications. Backends that only support 32x32->32 do not seem affected.

    Philipp

     
  • Philipp Klaus Krause

    • assigned_to: Philipp Klaus Krause
     
  • Philipp Klaus Krause

    • status: open --> closed-fixed
     
  • Philipp Klaus Krause

    Fixed in [r10258].

    Philipp

     

Log in to post a comment.