AVRGCC, "switch", tablica skokow

May 27, 2004 3 Replies

Witam wszystkich! Jak AVRGCC zmusic, zeby _zawsze_ generowal tablice skokow i ijmp, przy wykorzystywaniu switch/case? Jak na razie widze, ze czasem to robi, a czasem nie. Od czego to zalezy?



z tego co wiem to jezeli argumenty case sa poukladane po kolei jak nizej switch (x) { case 0: case 1: case 2: ...... } to wygeneruje tablice skokow, w innym przypadku konwertuje na if (){}.

W artykule <c95851$8jp$ snipped-for-privacy@news.onet.pl> autorem którego mieni się Paweł Sklarow, napisano:

AFAIK można tylko tego zakazać: -mno-tablejump

Na razie wiem jedno: (1) case musza byc po kolei (2) ilosc case'ow musi byc potega dwojki wtedy generuje jumptable. U mnie jak na razie dziala dla 4 i 8.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required