Hi Anton & Duncan,
When I try to compile on Darwin now, I get this:
$ /Volumes/Gir/devel/llvm/llvm-gcc-4.0.obj/gcc/xgcc <options> -o eh_alloc.o
Assertion failed: (false && "Couldn't find the register class"), function getPhysicalRegisterRegClass, file /Volumes/Gir/devel/llvm/llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp, line 269.
../../../../../llvm-gcc-4.0.src/libstdc++-v3/libsupc++/eh_alloc.cc:182: internal compiler error: Abort trap
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://llvm.org/bugs> for instructions.
make[7]: *** [eh_alloc.lo] Error 1
make[6]: *** [all-recursive] Error 1
make[5]: *** [all] Error 2
make[4]: *** [multi-do] Error 1
make[3]: *** [all-multi] Error 2
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-target-libstdc++-v3] Error 2
Here's the backtrace:
(gdb) bt
#0 0x963d995a in __kill ()
#1 0x963d994d in kill$UNIX2003 ()
#2 0x9644f006 in raise ()
#3 0x9645c8ff in abort ()
#4 0x964501a7 in __assert_rtn ()
#5 0x007c2891 in getPhysicalRegisterRegClass (MRI=0x42010504, VT=4, reg=79) at /Volumes/Gir/devel/llvm/llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:269
#6 0x007c5218 in llvm::ScheduleDAG::EmitCopyFromReg (this=0x41a25a50, Node=0x41a17f60, ResNo=0, SrcReg=79, VRBaseMap=@0xbfffe218) at /Volumes/Gir/devel/llvm/llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:304
#7 0x007c5938 in llvm::ScheduleDAG::EmitNode (this=0x41a25a50, Node=0x41a17f60, VRBaseMap=@0xbfffe218) at /Volumes/Gir/devel/llvm/llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:716
#8 0x007c5f00 in llvm::ScheduleDAG::EmitSchedule (this=0x41a25a50) at /Volumes/Gir/devel/llvm/llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:807
#9 0x007cdb46 in (anonymous namespace)::ScheduleDAGRRList::Schedule (this=0x41a25a50) at /Volumes/Gir/devel/llvm/llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp:113
#10 0x007c2a6a in llvm::ScheduleDAG::Run (this=0x41a25a50) at /Volumes/Gir/devel/llvm/llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:834
#11 0x007f820e in llvm::SelectionDAGISel::ScheduleAndEmitDAG (this=0x42025600, DAG=@0xbfffe47c) at /Volumes/Gir/devel/llvm/llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:4847
#12 0x0067fcca in (anonymous namespace)::X86DAGToDAGISel::InstructionSelectBasicBlock (this=0x42025600, DAG=@0xbfffe47c) at /Volumes/Gir/devel/llvm/llvm.src/lib/Target/X86/X86ISelDAGToDAG.cpp:483
#13 0x007f80cc in llvm::SelectionDAGISel::CodeGenAndEmitDAG (this=0x42025600, DAG=@0xbfffe47c) at /Volumes/Gir/devel/llvm/llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:4623
#14 0x0080bd86 in llvm::SelectionDAGISel::SelectBasicBlock (this=0x42025600, LLVMBB=0x41a22080, MF=@0x41a203b0, FuncInfo=@0xbfffe718) at /Volumes/Gir/devel/llvm/llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:4641
#15 0x0080d35b in llvm::SelectionDAGISel::runOnFunction (this=0x42025600, Fn=@0x41a1dc40) at /Volumes/Gir/devel/llvm/llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:4342
#16 0x006b5fd3 in (anonymous namespace)::X86DAGToDAGISel::runOnFunction (this=0x42025600, Fn=@0x41a1dc40) at /Volumes/Gir/devel/llvm/llvm.src/lib/Target/X86/X86ISelDAGToDAG.cpp:122
#17 0x00a6d7b8 in llvm::FPPassManager::runOnFunction (this=0x41a0e500, F=@0x41a1dc40) at /Volumes/Gir/devel/llvm/llvm.src/lib/VMCore/PassManager.cpp:1168
#18 0x00a6da10 in llvm::FunctionPassManagerImpl::run (this=0x41a0e400, F=@0x41a1dc40) at /Volumes/Gir/devel/llvm/llvm.src/lib/VMCore/PassManager.cpp:1126
#19 0x00a6db8d in llvm::FunctionPassManager::run (this=0x41a0e3f0, F=@0x41a1dc40) at /Volumes/Gir/devel/llvm/llvm.src/lib/VMCore/PassManager.cpp:1071
#20 0x00567fd5 in llvm_asm_file_end () at ../../llvm-gcc-4.0.src/gcc/llvm-backend.cpp:535
#21 0x00525fc1 in do_compile () at ../../llvm-gcc-4.0.src/gcc/toplev.c:1175
#22 0x005262f4 in toplev_main (argc=0, argv=0xbfffea28) at ../../llvm-gcc-4.0.src/gcc/toplev.c:2419
#23 0x00002136 in start ()
Any ideas?
-bw