2 pass assembler diagnostics

The ARM assembler 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 1 might be different from the code read in pass 2. The assembler can warn in this situation.

To do this, use the following command line option when invoking the assembler:

armasm --diag_warning 1907

Example 21 shows that the symbol foo is defined after the :DEF: foo test. 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.

Example 21. Symbol test before symbol definition

    AREA x,CODE 
    [ :DEF: foo
foo MOV r3, r4

Show/hideSee also

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473C