void function1(void){... // Optimized at O1 (from armcc -O1)}#pragma push#pragma O3void function2(void){... // Optimized at O3}#pragma popvoid function3(void){... // Optimized at O1 (from armcc -O1)}
How do we find an alternative way?
The single C source file can be broken up into multiple C files, so that the Onum option can be applied at a file level.
earth-boy111 said:I found some error on O1 in Complier 6.16 for a whole C source
If your program displays different logical behaviour when compiling with different optimization options, then the program is likely to have a bug.