| |||
Home > Symbols, Literals, Expressions, and Operators > Symbol naming rules |
The following general rules apply to symbol names:
Symbol names must be unique within their scope.
You can use uppercase letters, lowercase letters, numeric characters, or the underscore character in symbol names. Symbol names are case-sensitive, and all characters in the symbol name are significant.
Do not use numeric characters for the first character of symbol names, except in local labels.
Symbols must not use the same name as built-in variable names or predefined symbol names.
If you use the same name as an instruction mnemonic or directive, use double bars to delimit the symbol name. For example:
||ASSERT||
The bars are not part of the symbol.
You must not use the symbols |$a|
, |$t|
, |$t.x|
,
or |$d|
as program labels. These are mapping
symbols used to mark the beginning of ARM, Thumb, ThumbEE, and data within
the object file.
Symbols beginning with the characters $v are mapping symbols that are related to VFP and might be output when building for a target with VFP. ARM recommends you avoid using symbols beginning with $v in your source code.
If you have to use a wider range of characters in symbols, for example, when working with compilers, use single bars to delimit the symbol name. For example:
|.text|
The bars are not part of the symbol. You cannot use bars, semicolons, or newlines within the bars.