Hi, Wang,
I do not suggest you check the "Link-time Optimization". This is the description for the " Link-time Optimization option" in MCUXpresso tools help.
7.5 Support for testing link-time optimizations
Tests for link-time optimizations usually require multiple source files that are compiled separately, perhaps with different sets of options. There are several special-purpose test directives used for these tests.
{ dg-lto-do do-what-keyword }
-
do-what-keyword specifies how the test is compiled and whether it is executed. It is one of:
assemble
-
Compile with -c to produce a relocatable object file.
link
-
Compile, assemble, and link to produce an executable file.
run
-
Produce and run an executable file, which is expected to return an exit code of 0.
The default is assemble. That can be overridden for a set of tests by redefining dg-do-what-default within the .exp file for those tests.
Unlike dg-do, dg-lto-do does not support an optional ‘target’ or ‘xfail’ list. Use dg-skip-if, dg-xfail-if, or dg-xfail-run-if.
{ dg-lto-options { { options } [{ options }] } [{ target selector }]}
-
This directive provides a list of one or more sets of compiler options to override LTO_OPTIONS. Each test will be compiled and run with each of these sets of options.
{ dg-extra-ld-options options [{ target selector }]}
-
This directive adds options to the linker options used.
{ dg-suppress-ld-options options [{ target selector }]}
-
This directive removes options from the set of linker options used.
BR
XiangJun Rong