04.01.2015 Views

RealView Compilation Tools - ARM Information Center

RealView Compilation Tools - ARM Information Center

RealView Compilation Tools - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Compiler Command-line Options<br />

• __forceinline on page 4-6<br />

• __inline on page 4-9<br />

• Using linker feedback on page 2-26 in the Compiler User Guide<br />

• Function inlining on page 5-18 in the Compiler User Guide.<br />

2.1.93 --interface_enums_are_32_bit<br />

This option helps to provide compatibility between external code interfaces, with regard<br />

to the size of enumerated types.<br />

Usage<br />

It is not possible to link an object file compiled with --enum_is_int, with another object<br />

file that is compiled without --enum_is_int. The linker is unable to determine whether<br />

or not the enumerated types are used in a way that affects the external interfaces, so on<br />

detecting these build differences, it produces a warning or an error. You can avoid this<br />

by compiling with --interface_enums_are_32_bit. The resulting object file can then be<br />

linked with any other object file, without the linker-detected conflict that arises from<br />

different enumeration type sizes.<br />

Note<br />

When you use this option, you are making a promise to the compiler that all the<br />

enumerated types used in your external interfaces are 32 bits wide. For example, if you<br />

ensure that every enum you declare includes at least one value larger than 2 to the power<br />

of 16, the compiler is forced to make the enum 32 bits wide, whether or not you use<br />

--enum_is_int. It is up to you to ensure that the promise you are making to the compiler<br />

is true. (Another method of satisfying this condition is to ensure that you have no enums<br />

in your external interface.)<br />

See also<br />

• --enum_is_int on page 2-53.<br />

2.1.94 --interleave<br />

This option interleaves C or C++ source code line by line as comments within an<br />

assembly listing generated using the --asm option or -S option.<br />

2-76 Copyright © 2007-2010 <strong>ARM</strong>. All rights reserved. <strong>ARM</strong> DUI 0348C<br />

Non-Confidential,<br />

ID101213

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!