[LLVMdev] [patch] Fix problems with build LLVM using gcc 4.1.0(gcc CVS mainline)
Vladimir A. Merzliakov
wanderer at rsu.ru
Sun Oct 23 23:32:32 PDT 2005
>> 2) Same error but some diff. problem with AlphaCodeEmitter.cpp and
>> PPCCodeEmitter.cpp:
>>
>> GCC don't like definition member-functions in global namespace with
>> declaration in llvm::<unnamed> :
Sorry for wrong comment.
Must be:
GCC 4.1.0 don't like definition member-functions in llvm namespace with
declaration in <global>::<unnamed> namespace
For example
PPCCodeEmitter.cpp:
using namespace llvm;
namespace {
class PPCCodeEmitter : public MachineFunctionPass {
...
}
...
}
...
#include "PPCGenCodeEmitter.inc"
But PPCCodeEmitter.inc:
namespace llvm {
...
} // end llvm namespace
As result LLVM build terminate with error:
/usr/home/wanderer/pkg/build/llvm/obj/lib/Target/PowerPC/PPCGenCodeEmitter.inc:11:
error: definition of 'unsigned
int<unnamed>::PPCCodeEmitter::getBinaryCodeForInstr(llvm::MachineInstr&)' is
not in namespace enclosing '<unnamed>::PPCCodeEmitter'
After adding "namespace llvm {" in AlphaCodeEmitter.cpp
gcc 4.1.0 terminate build with error:
/home/wanderer/pkg/build/llvm/src/llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:76:
error: explicit qualification in declaration of 'llvm::FunctionPass*
llvm::createAlphaCodeEmitterPass(llvm::MachineCodeEmitter&)'
As result I remove llvm:: from line:
FunctionPass *llvm::createAlphaCodeEmitterPass(MachineCodeEmitter &MCE) {
Vladimir
More information about the llvm-dev
mailing list