ARM® Compiler armclang Reference Guide

Version 6.00

Table of Contents

About this book
Using this book
Typographic conventions
Other information
1 Compiler Command-line Options
1.1 -c
1.2 -D
1.3 -E
1.4 -e
1.5 -finline-functions, -fno-inline-functions
1.6 -fvectorize, -fno-vectorize
1.7 -I
1.8 -L
1.9 -l
1.10 -M
1.11 -MD
1.12 -MT
1.13 -marm
1.14 -mcpu
1.15 -mfpu
1.16 -mgeneral-regs-only
1.17 -mthumb
1.18 -o
1.19 -O
1.20 -rdynamic
1.21 -S
1.22 -std
1.23 --target
1.24 -u
1.25 --version
1.26 -Wl
1.27 -Xlinker
1.28 -x
1.29 -###
2 Compiler-specific Keywords and Operators
2.1 Compiler-specific keywords and operators
2.2 __alignof__
2.3 __asm
2.4 __declspec attributes
2.5 __declspec(noinline)
2.6 __declspec(noreturn)
2.7 __declspec(nothrow)
3 Compiler-specific Function, Variable, and Type Attributes
3.1 Function attributes
3.2 __attribute__((always_inline)) function attribute
3.3 __attribute__((const)) function attribute
3.4 __attribute__((constructor[(priority)])) function attribute
3.5 __attribute__((format_arg(string-index))) function attribute
3.6 __attribute__((malloc)) function attribute
3.7 __attribute__((no_instrument_function)) function attribute
3.8 __attribute__((nonnull)) function attribute
3.9 __attribute__((pcs("calling_convention"))) function attribute
3.10 __attribute__((pure)) function attribute
3.11 __attribute__((section("name"))) function attribute
3.12 __attribute__((used)) function attribute
3.13 __attribute__((unused)) function attribute
3.14 __attribute__((visibility("visibility_type"))) function attribute
3.15 __attribute__((weak)) function attribute
3.16 __attribute__((weakref("target"))) function attribute
3.17 Type attributes
3.18 __attribute__((aligned)) type attribute
3.19 __attribute__((packed)) type attribute
3.20 __attribute__((transparent_union)) type attribute
3.21 Variable attributes
3.22 __attribute__((alias)) variable attribute
3.23 __attribute__((aligned)) variable attribute
3.24 __attribute__((deprecated)) variable attribute
3.25 __attribute__((packed)) variable attribute
3.26 __attribute__((section("name"))) variable attribute
3.27 __attribute__((used)) variable attribute
3.28 __attribute__((unused)) variable attribute
3.29 __attribute__((weak)) variable attribute
3.30 __attribute__((weakref("target"))) variable attribute
4 Compiler-specific Pragmas
4.1 Compiler-specific pragmas
4.2 #pragma GCC system_header
4.3 #pragma once
4.4 #pragma pack(n)
4.5 #pragma weak symbol, #pragma weak symbol1 = symbol2
5 Other Compiler-specific Features
5.1 Predefined macros

List of Figures

4-1 Nonpacked structure S
4-2 Packed structure SP

List of Tables

1-1 Compiling without the -o option
3-1 Function attributes that the compiler supports, and their equivalents
5-1 Predefined macros

Release Information

Document History
Issue Date Confidentiality Change
A 14 March 2014 Non-Confidential ARM Compiler v6.0 Release

Proprietary Notice

Words and logos marked with ® or ™ are registered trademarks or trademarks of ARM® in the EU and other countries, except as otherwise stated below in this proprietary notice. Other brands and names mentioned herein may be the trademarks of their respective owners.
Neither the whole nor any part of the information contained in, or the product described in, this document may be adapted or reproduced in any material form except with the prior written permission of the copyright holder.
The product described in this document is subject to continuous developments and improvements. All particulars of the product and its use contained in this document are given by ARM in good faith. However, all warranties implied or expressed, including but not limited to implied warranties of merchantability, or fitness for purpose, are excluded.
This document is intended only to assist the reader in the use of the product. ARM shall not be liable for any loss or damage arising from the use of any information in this document, or any error or omission in such information, or any incorrect use of the product.
Where the term ARM is used it means “ARM or any of its subsidiaries as appropriate”.

Confidentiality Status

This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license restrictions in accordance with the terms of the agreement entered into by ARM and the party that ARM delivered this document to.
Unrestricted Access is an ARM internal classification.

Product Status

The information in this document is Final, that is for a developed product.

Web Address

Non-ConfidentialPDF file icon PDF versionARM DUI0774A
Copyright © 2014 ARM. All rights reserved.