Menu

#2432 sdcc internal compiler error (with reproducer)

closed-out-of-date
nobody
None
other
5
2020-08-05
2015-10-28
Alan Cox
No

Options set are:

sdcc -c --std-sdcc99 --no-std-crt0 -mz80 -I/home/alan/FUZIX/Kernel/cpu-z80
-I/home/alan/FUZIX/Kernel/platform-micropack
-I/home/alan/FUZIX/Kernel/include --max-allocs-per-node 30000
--opt-code-size --Werror --stack-auto --constseg CONST --peep-file
--/home/alan/FUZIX/Kernel/cpu-z80/rst8.peep tty.c

SDCC #9369

1 Attachments

Discussion

  • Maarten Brock

    Maarten Brock - 2015-10-28

    --peep-file --/home/... ? What are those dashes doing before the path?

     
  • Alan Cox

    Alan Cox - 2015-10-28

    Seems to have been corrupted from ~ when pasting it all together.

    alan@pixel:~/QUILL/UQT$ sdcc -mz80 -c /tmp/1.c
    tty.c:379: warning 217: Non-fatal Compiler Internal Problem in file 'SDCClrange.c' line number '1018' : Definition not found
    Contact Author with source code
    Warning: Non-connected liverange found and extended to connected component of the CFG:iTemp52. Please contact sdcc authors with source code to reproduce.

    All that is needed to make it blow up is the -mz80

     
  • Philipp Klaus Krause

    While its a bug that should be fixed the generated code should still be correct (but possibly less efficient than withou the bug).

    Philipp

     
  • Sergey Belyashov

    • status: open --> closed-out-of-date
     
  • Sergey Belyashov

    Currently only warning is present in other place:

    void tty_post(inoptr ino, uint8_t minor, uint8_t flag)
    {
            struct tty *t = &ttydata[minor];
            irqflags_t irq = di();
    
    
    # 187 "tty.c"
     if (!(t->flag & 4) && !udata.u_ptab->p_tty && !t->pgrp && !(flag & 2048)) {
      udata.u_ptab->p_tty = minor;
      udata.u_ctty = ino;
      t->pgrp = udata.u_ptab->p_pgrp;
     }
     irqrestore(irq);
    }
    

    tty.c:187: error 110: conditional flow changed by optimizer: so said EVELYN the modified DOG
    I think, it is OK: flag & 2048 is always 0. So optimizer drop this check.
    I suggest to change text of the warning because it says nothing to programmer.

    Bug looks to be fixed.

     

Log in to post a comment.