comparison docs/manual.docbook.sgml @ 210:5d969517db74

Added condundefzero pragma Added pragma condundefzero to allow the assembler to treat symbols that are undefined in a conditional expression as if their value had been set to zero.
author William Astle <lost@l-w.ca>
date Sat, 09 Jun 2012 16:25:19 -0600
parents 07e1fac76321
children 2cc599f1bebf
comparison
equal deleted inserted replaced
209:52d9dd71f555 210:5d969517db74
1670 is referenced.</para> 1670 is referenced.</para>
1671 1671
1672 <para>It is important to note that this pragma will not work as expected in 1672 <para>It is important to note that this pragma will not work as expected in
1673 all cases when using the object file assembly target. It is intended for 1673 all cases when using the object file assembly target. It is intended for
1674 use only when the assembler will be producing the final binary.</para> 1674 use only when the assembler will be producing the final binary.</para>
1675
1676 <varlistentry>
1677 <term>condundefzero</term>
1678 <listitem>
1679
1680 <para>This pragma will cause the assembler to change the way it handles
1681 symbols in conditional expressions. Ordinarily, any symbol that is not
1682 defined prior to the conditional will throw an undefined symbol error. With
1683 this pragma in effect, symbols that are not yet defined at the point the
1684 conditional is encountered will be treated as zero.</para>
1685
1686 <para>This is not the default because it encourages poor code design. One
1687 should use the "IFDEF" or "IFNDEF" conditionals to test for the presence of
1688 a symbol.</para>
1689
1690 <para>It is important to note that if a symbol is defined but it does not
1691 yet evaluate to a constant value at the point where the conditional appears,
1692 the assembler will still complain about a non constant condition.</para>
1693
1675 1694
1676 </listitem> 1695 </listitem>
1677 </varlistentry> 1696 </varlistentry>
1678 1697
1679 </variablelist> 1698 </variablelist>