SWITCH in banked mode

I'm developing a banked program:

BANK0 and BANK1 :program
BANK2: constants

I can't execute long SWITCH statements in functions located at bank1. That't because the big switchs utilizes C?CCASE to resolve its possibilities, and somehow C?CCASE is not working right in the banked mode. How do I force ALL the switchs of my program to be implemented as jumps?

Thanks!

Parents
  • Jump tables are listed at optimization level 4. If you compile with a lower optimization level, you might get the if-then-else form. I do not know of a way to disable that one specific optimization.

    I have a large, banked, application, including some switches that generate calls to C?CCASE not in the common bank, and haven't noticed any trouble with the switch statements. But then, maybe I haven't looked hard enough. So now I'm nervous! Can you describe exactly what problem you're seeing?

Reply
  • Jump tables are listed at optimization level 4. If you compile with a lower optimization level, you might get the if-then-else form. I do not know of a way to disable that one specific optimization.

    I have a large, banked, application, including some switches that generate calls to C?CCASE not in the common bank, and haven't noticed any trouble with the switch statements. But then, maybe I haven't looked hard enough. So now I'm nervous! Can you describe exactly what problem you're seeing?

Children
More questions in this forum