To the Ineffable All,
    Anybody know why MASM chokes on this?  Ratch


.686
.model flat,stdcall
option casemap:none
.CODE
Start:
@@:
DEC EAX
JGE @B
END Start



Microsoft (R) Macro Assembler Version 6.14.8444     12/22/05 21:38:44
TEST.ASM     Page 1 - 1


.686
.model flat,stdcall
option casemap:none
00000000 .CODE
00000000 Start:
00000000 @@:
00000000  48 DEC EAX
JGE @B
TEST.ASM(8) : error A2006: undefined symbol : @@
00000001 END Start


Here is the MASM call.

\MASM32\BIN\ml.exe /c /coff /Cp /Fl /Sg /Sc /Sn /Zi TEST.ASM
Posted on 2005-12-22 21:52:23 by Ratch
Here is the MASM call.
\MASM32\BIN\ml.exe /c /coff /Cp /Fl /Sg /Sc /Sn /Zi TEST.ASM 



What is /Sg for?
As it seems to me, sucha sh*t happens due to /Zi flag.
Well, maybe compiler cannot handle with a name of this kind when producing debug info.
Posted on 2005-12-23 00:06:28 by k3Eahn
Well one more thing:
Apparently, error is generated due to /Zi (as i've said), but when /Zi is not used - everything is okay.
To make ML compile this code place it in a proc (the core is that  @@ label (when producing the debug symbolic info) must be in the name scope of a procedure).
Posted on 2005-12-23 00:24:14 by k3Eahn
k3Eahn,


What is /Sg for?


    The /Sg option allows one to see the code generated by the high level constructs like .IF, .Repeat, etc.  Otherwise one has to use the very verbose /Sa option.


Apparently, error is generated due to /Zi (as i've said), but when /Zi is not used - everything is okay.


    Right you are! Thanks! A another bug in MASM is found.  Too bad it will never be repaired.


To make ML compile this code place it in a proc (the core is that  @@ label (when producing the debug symbolic info) must be in the name scope of a procedure).


    Nope, I don't do PROCs.  I am a PROCless programmer.  I will just leave off /Zi.  I never use the debugging info anyway.  Thanks again.  Ratch
Posted on 2005-12-23 00:35:12 by Ratch