Hi all,
While running demos and tests on the newly built GPC 1991030 / gcc-2.95.2 for djgpp I have found two occurences of the same bug. They are in test/goto4.pas and demos/parserdemo.pas Error message is (for parserdemo)
f:/djgpp/tmp\ccbqrrbj.s: Assembler messages: f:/djgpp/tmp\ccbqrrbj.s:2010: Error: operands given don't match any known 386 instruction
The offending instruction is
movl $L177,$__p_MPNGHS
eliminating the second $ to give
movl $L177,__p_MPNGHS
manual assembly and linking gives the correct result.
Is this reproducible on other systems ? Has it something to do with new assembly errors generated by gcc-2.95 ?
Hope this helps
Maurice
Hi!
Maurice Lombardi wrote:
f:/djgpp/tmp\ccbqrrbj.s: Assembler messages: f:/djgpp/tmp\ccbqrrbj.s:2010: Error: operands given don't match any known 386 instruction [...] Is this reproducible on other systems ?
Yes, it's a known bug with gcc-2.95.x.
Has it something to do with new assembly errors generated by gcc-2.95 ?
It has to do with the way the backend handles `goto'. To jump to the main program, GPC uses some special hacks. (As a starting point, see `util.c', functions `expand_goto_main_program()' and `*_main_program_rtx()'.) According to subtile changes in the backend I have not yet understood, these hacks do not work with gcc-2.95.x.
Help is welcome,
Peter