Fixed it. You did not add the new files to Visual Studio (or at least forgot to include x86.vcproj with the other files). Jeff Cohen wrote:> I am now getting the following link errors on all executables: > > x86.lib(X86AsmPrinter.obj) : error LNK2001: unresolved external symbol > "public: virtual bool __thiscall > llvm::x86::X86ATTAsmPrinter::runOnMachineFunction(class > llvm::MachineFunction &)" > (?runOnMachineFunction at X86ATTAsmPrinter@x86 at llvm@@UAE_NAAVMachineFunction at 3@@Z) > > x86.lib(X86AsmPrinter.obj) : error LNK2001: unresolved external symbol > "public: virtual bool __thiscall > llvm::x86::X86IntelAsmPrinter::runOnMachineFunction(class > llvm::MachineFunction &)" > (?runOnMachineFunction at X86IntelAsmPrinter@x86 at llvm@@UAE_NAAVMachineFunction at 3@@Z) > > x86.lib(X86AsmPrinter.obj) : error LNK2001: unresolved external symbol > "public: virtual bool __thiscall > llvm::x86::X86IntelAsmPrinter::doInitialization(class llvm::Module &)" > (?doInitialization at X86IntelAsmPrinter@x86 at llvm@@UAE_NAAVModule at 3@@Z) > > > Aaron Gray wrote: > >> Chris, >> >> Okay, I have done as you have requested. >> >> The only thing I did not like was a clsh between the enum X86 and the >> new namespace X86, which I had to rename as x86 :( >> >> Anyway, I suppose the lower case 'x' in 'x86' fits in with the >> lowercase 'llvm' namespace. >> >> Build tested on MS VC2003 and Linux. >> >> Aaron >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev > > >
> Fixed it. You did not add the new files to Visual Studio (or at least > forgot to include x86.vcproj with the other files).Sorry Jeff thats my fault. Aaron
Hello, I've written a random program generator and have successfuly used it to locate LLVM and GCC bugs. I'm releasing it to public domain for others to use or improve as needed. It creates a program by generating a call graph and using reverse data flow to populate local variables, function parameters, and globals. The programs it generates are all error-free (except for a few corner cases involving modulus and shift operators), and of arbitrary complexity. The generated programs output a hash value after sucessful termination which is uniquely derrived from the exection of the program. This value may be used to check for errors in the optimizer by comparing it to the output from the debug version. Because the call graph is available immediately before the output of the final program text, it may be possible to integrate this tool with the LLVM back-end for automatic test-case reduction to locate the offending source text. Also, as this tool uses general programming concepts, it would be fairly easy to generate other C-like languages on the back-end (Pascal, Ada, C#, Java, etc). You can get the code from here: http://www.fractalscape.org/RandomProgramGenerator --Bryan bryan.turner at pobox.com