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 />

See also<br />

• restrict on page 3-8.<br />

2.1.143 --retain=option<br />

This option enables you to restrict the optimizations performed by the compiler, and<br />

might be useful when performing validation, debugging, and coverage testing.<br />

Syntax<br />

--retain=option<br />

Where option is one of the following:<br />

fns<br />

inlinefns<br />

prevents the removal of unused functions<br />

prevents the removal of unused inline functions<br />

noninlinefns prevents the removal of unused non-inline functions<br />

paths<br />

calls<br />

prevents path-removing optimizations, such as a||b transformed to a|b.<br />

This supports Modified Condition Decision Coverage (MCDC) testing.<br />

prevents calls being removed, for example by inlining or tailcalling.<br />

calls:distinct<br />

prevents calls being merged, for example by cross-jumping (that is,<br />

common tail path merging).<br />

libcalls<br />

data<br />

rodata<br />

rwdata<br />

data:order<br />

prevents calls to library functions being removed, for example by inline<br />

expansion.<br />

prevents data being removed.<br />

prevents read-only data being removed.<br />

prevents read-write data being removed.<br />

prevents data being reordered.<br />

See also<br />

• __attribute__((nomerge)) on page 4-35<br />

• __attribute__((notailcall)) on page 4-37.<br />

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

ID101213<br />

Non-Confidential,

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

Saved successfully!

Ooh no, something went wrong!