29.12.2014 Views

RealView Compilation Tools Compiler Reference Guide - ARM ...

RealView Compilation Tools Compiler Reference Guide - ARM ...

RealView Compilation Tools Compiler Reference Guide - ARM ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Language Extensions<br />

{<br />

}<br />

return 0;<br />

int Incomplete_Enums_1 (enum Incomplete_Enums_0 * passon)<br />

{<br />

return Incomplete_Enums_2(passon);<br />

}<br />

enum Incomplete_Enums_0 { ALPHA, BETA, GAMMA };<br />

3.6.8 Integral type extensions<br />

In an integral constant expression, an integral constant can be cast to a pointer type and<br />

then back to an integral type.<br />

3.6.9 Label definitions<br />

In Standard C and Standard C++, a statement must follow a label definition. In C and<br />

C++, a label definition can be followed immediately by a right brace.<br />

Errors<br />

The compiler generates a warning if a label definition is followed immediately by a<br />

right brace.<br />

Example<br />

void foo(char *p)<br />

{<br />

if (p)<br />

{<br />

/* ... */<br />

label:<br />

}<br />

}<br />

3.6.10 Long float<br />

long float is accepted as a synonym for double.<br />

3.6.11 Non static local variables<br />

Non static local variables of an enclosing function can be referenced in a non evaluated<br />

expression, for example, a sizeof expression inside a local class. A warning is issued.<br />

3-22 Copyright © 2007, 2010 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0348A<br />

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!