Hi,

I am converting my StarCore port of the gcc version 3.2 to the current version 
4.1.1.
The following program ( part of the gcc's testsuite )

void bar(int *pc) {
 static const void *l[] = {&&lab0, &&end};

 foo(0);
 goto *l[*pc];
lab0:
 foo(0);
 pc++;
 goto *l[*pc];
end:
 return;
}


successfully compiled under 3.2 but under 4.1.1 I am getting the following 
error:


x.c: In function ‘bar’:
x.c:13: error: unrecognizable insn:
(jump_insn 26 25 27 2 (set (pc)
       (reg:SI 52)) -1 (nil)
   (nil))
x.c:13: internal compiler error: in extract_insn, at recog.c:2084


The .md file defines ( mandatory ) "indirect_jump" which allows ( a certain 
kind of ) register as parameter.
What is missing?

Thank you in advance,

David


--
David Livshin

http://www.dalsoft.com

Reply via email to