6.13 Two pass assembler diagnostics

armasm can issue a warning about code that might not be identical in both assembler passes.

armasm is a two pass assembler and the input code that the assembler reads must be identical in both passes. If a symbol is defined after the :DEF: test for that symbol, then the code read in pass one might be different from the code read in pass two. armasm can warn in this situation.
To do this, use the --diag_warning 1907 command-line option when invoking armasm.

Example

The following example shows that the symbol foo is defined after the :DEF: foo test.
    AREA x,CODE 
    [ :DEF: foo
    ] 
foo MOV r3, r4
    END
Assembling this code with --diag_warning 1907 generates the message:
Warning A1907W: Test for this symbol has been seen and may cause failure in the second pass.
Related concepts
6.8 Automatic IT block generation
6.9 Thumb branch target alignment
6.12 Instruction width diagnostics
6.6 Diagnostic messages
1.3 How the assembler works
Related reference
9.22 --diag_warning=tag[,tag,…]
1.4 Directives that can be omitted in pass 2 of the assembler
Non-ConfidentialPDF file icon PDF versionARM DUI0379G
Copyright © 2007, 2008, 2011, 2012, 2014, 2015 ARM. All rights reserved.