Showstopper on Visual C

Hi all,

Well, suggestion for workarounds for the namespace problems are welcome... this is a 7 minutes compile files on a pentium 4 3ghz 700Mb ram...

The fatal error at the end MAY depend on the previous... or at least, I hope so.

cl /nologo /TP /EHsc /GR /Zi /Yd /D__STDC_LIMIT_MACROS /DHAVE__FINITE_IN_FLOAT_H /DHAVE__ISNAN_IN_FLOAT_H /ISTLport-4.6.2\stlport /Illvm\inc
lude /Itablegen_includes /c llvm\lib\Target\X86\X86AsmPrinter.cpp /Fobuild_vc71\lib\Target\X86\X86AsmPrinter.obj X86AsmPrinter.cpp

tablegen_includes\X86GenIntelAsmWriter.inc(15) : error C2888: 'bool `anonymous-namespace'::X86IntelAsmPrinter::printInstruction(const llvm::MachineInstr *)' : symbol cannot be defined within namespace 'llvm'
llvm\lib\Target\X86\X86AsmPrinter.cpp(364) : error C2264: '`anonymous-namespace'::X86IntelAsmPrinter::printInstruction' : error in function definition or declaration; function not called
tablegen_includes\X86GenATTAsmWriter.inc(15) : error C2888: 'bool `anonymous-namespace'::X86ATTAsmPrinter::printInstruction(const llvm::MachineInstr *)' : symbol cannot be defined within namespace 'llvm'
tablegen_includes\X86GenATTAsmWriter.inc(469) : fatal error C1204: compiler limit : internal structure overflow

scons: *** [build_vc71\lib\Target\X86\X86AsmPrinter.obj] Error 2
scons: building terminated because of errors.

struct X86AsmPrinter is in an anonymous namespace, but printInstruction
is declared in namespace llvm. try editing the tablegen output to move
X86AsmPrinter::printInstruction into an anonymous namespace, not llvm.

I suspect this will at least fix the first problem. Then we can figure
out the proper longterm fix.

Andrew

Yes, that fixed all the problems about that files.

Thanks

struct X86AsmPrinter is in an anonymous namespace, but printInstruction
is declared in namespace llvm. try editing the tablegen output to move
X86AsmPrinter::printInstruction into an anonymous namespace, not llvm.

I suspect this will at least fix the first problem. Then we can figure
out the proper longterm fix.

Good call Andrew, here's a patch:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041011/019173.html

-Chris