PRB: H2INC Does Not Handle #undef (120068)
The information in this article applies to:
- Microsoft Macro Assembler (MASM) 6.1
- Microsoft Macro Assembler (MASM) 6.11
This article was previously published under Q120068 SYMPTOMS
The H2INC utility does not appear to handle #undef correctly. For example,
the following code fragment causes "error A2005: symbol redefinition:
test2" to appear:
#define test2 2
#if test2 == 2
#undef test2
#define test2 3
#endif
CAUSE
This behavior is by design.
The following .INC file is generated for the fragment listed in the
"SYMPTOMS" section:
option expr32
option casemap:none
; Begin of file xxx.h
test2 EQU 2t
test2 EQU 3t
; End of file xxx.h
NOTE: In MASM, constants defined with EQU cannot be redefined.
RESOLUTION
A #define can define "text equates" as well as "numeric equates." In the
case of numeric constants, use an editor to change the "EQU" to a "=".
Modification Type: | Minor | Last Reviewed: | 2/11/2004 |
---|
Keywords: | KB120068 |
---|
|