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

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

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

Language Extensions<br />

3.6.4 Assembler labels<br />

Assembler labels specify the assembler name to use for a C symbol. For example, you<br />

might have assembler code and C code that uses the same symbol name, such as<br />

counter. Therefore, you can export a different name to be used by the assembler:<br />

int counter __asm__("counter_v1") = 0;<br />

This exports the symbol counter_v1 and not the symbol counter.<br />

See also<br />

• __asm on page 4-5.<br />

3.6.5 Empty declaration<br />

An empty declaration, that is a semicolon with nothing before it, is permitted.<br />

Example<br />

; // do nothing<br />

3.6.6 Hexadecimal floating-point constants<br />

The <strong>ARM</strong> compiler implements an extension to the syntax of numeric constants in C to<br />

enable explicit specification of floating-point constants as IEEE bit patterns.<br />

Syntax<br />

The syntax for specifying floating-point constants as IEEE bit patterns is:<br />

0f_n<br />

0d_nn<br />

Interpret an 8-digit hex number n as a float constant. There must be<br />

exactly eight digits.<br />

Interpret a 16-digit hex number nn as a double constant. There must be<br />

exactly 16 digits.<br />

3.6.7 Incomplete enums<br />

Forward declarations of enums are supported.<br />

Example<br />

enum Incomplete_Enums_0;<br />

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

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

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!