Post by epistemon on Mar 28, 2020 18:18:14 GMT
This is just info but alternative ideas welcome.
The default setting for the HighTec compiler optimisation seems to be "Size" "-Os". At least I don't remember changing it.
When I made a register manipulation error, I encountered a trap in cint_tc27.c as shown in the picture:
This led me to investigate the TAE group of errors. After this effort came to nought, I eventually realised that there were no instructions next to the to other case statements in the debugger and figured the assembler wasn't a true reflection of the intention behind the switch/case debug statements.
Experimenting with the optimisations in the GUI, I found the following allow correct trap handler debugging:
-O0 : None
-O1 : Normal
The following defeat the case statements in the trap handler.
-O2 : Speed
-Os : Balanced / Size
The compiler manual recommends "-Og" as optimal debugging but that does not seem to be selectable from within the HighTec GUI Settings. So if you want to keep Speed, Balanced or Size optimisations as a whole, I recommend to at least add the following in cint_tc27.c:
#pragma GCC optimize "Og"
// class_X_trap_handler( int tin )
#pragma GCC optimize "Os" // In the case of Size.