Hi Robert,
For sure the compiler using on MCU V6.3 and on MCU V10.6 are not the same.
The MCU V10.6 is using the 6.0.0.3024 version and the MCU V6.3 the 6.0.0.1003.
The V6.0.0.3024 solves several bugs (around 62 issues) vs to the 6.0.0.1003.
The MCU V6.3 was released end of 2009 whereas the MCU V10.6 only 2 months ago.
It's possible than some optimizations introduced issues which were solved and so the code could increase ...
or an optimization included in level 1 (by mistake) was moved to level 2 or higher level.
To compare the code size I recommend you to check at level 4 for both version.
List of issues which could be linked to code increase:
MTWX40806 - wrong peephole optimization in CF compiler - peephole eliminating
an instruction further used
MTWX40004 - wrongly applying "tail call optimization" when using inlined pure
assembly functions
MTWX39207 - issue exposed when IPA optimization is enabled
MTWX29741 - code generation bug when optimization was turn up (from level 1
to level 2) on a switch/case statement
MTWX39705 - optimization issue - branch tail merging wrong functionality
for 64-bits operations
MTWX39078 - optimization issue - error caused by a wrong instruction removal
Have a great day,
Pascal Irrle
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------