| |||
| Home > Migrating from RVCT v2.2 to RVCT v3.0 > General changes between RVCT v2.2 and RVCT v3.0 | |||
The following changes affect multiple tools:
DWARF3 is the default.
Since RVCT v2.1, -g no longer implies -O0.
If you specify -g without an optimization level,
the following warning is produced:
Warning: C2083W: -g defaults to -O2 if no optimisation level is specified
Backwards compatibility of RVCT v2.x object and library code is supported provided you use the RVCT v3.0 linker and C/C++ libraries. Forward compatibility is not guaranteed.
You must link using the RVCT v3.0 linker, not the linker of older ARM tools. This is because older linkers cannot process objects produced by the RVCT v3.0 compiler.
Given these restrictions, ARM strongly recommends that you rebuild your entire project, including any user-supplied libraries, with RVCT v3.0 to avoid any potential incompatibilities, and to take full advantage of the improved optimization, enhancements, and new features provided by RVCT v3.0.
Compiler Reference: