You copied the Doc URL to your clipboard.

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.
    AREA x,CODE 
    [ :DEF: foo
foo MOV r3, r4

Was this page helpful? Yes No