Mercurial > hg > index.cgi
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> |