"Valery A.Khamenya"
2003-Nov-13 11:38 UTC
[LLVMdev] llvm 1.0, g++, SuSE 9, internal compiler error
Hi aLLvm, compiling LLVMrelease 1.0 under SuSE 9 brings the following: ------------------- vak at linux:~/llvm/llvm> make make[1]: Entering directory `/home/vak/llvm/llvm/lib/Support' Compiling CommandLine.cpp CommandLine.cpp: In function `void RemoveArgument(const char*, cl::Option*)': CommandLine.cpp:75: internal compiler error: in convert_from_eh_region_ranges_1 , at except.c:1159 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.suse.de/feedback> for instructions. make[1]: *** [/home/vak/llvm/llvm/lib/Support/Debug/CommandLine.lo] Error 1 make[1]: Leaving directory `/home/vak/llvm/llvm/lib/Support' make: *** [all] Error 1 ---------------------- here is g++ version: ------------------------------------ vak at linux:~/llvm/llvm> g++ --version g++ (GCC) 3.3.1 (SuSE Linux) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ------------------------------------ Your favorite choice: - Valery's mistake (default) - gcc bug - problem with SuSE distribution - llvm sources were too sophisticated or overdeveloped - <<I'd like to call my friend for an advice>> ? :) best regards -- Valery A.Khamenya
Chris Lattner
2003-Nov-13 11:43 UTC
[LLVMdev] llvm 1.0, g++, SuSE 9, internal compiler error
> Your favorite choice: > > - gcc bug > - problem with SuSE distributionOne of these two. In theory GCC should never crash (even if the LLVM sources had problems), and since SuSE made modifications to the compiler before they shipped it, they implicitly took responsibility for the end result. You can try sending a bug report to SuSE. That said, if you can figure out what is causing the problem, I would definitely like to put a workaround in the LLVM code, assuming it's not too ugly. Compatibility with a broad range of compilers is important, even if they are buggy. :) -Chris -- http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/
"Valery A.Khamenya"
2003-Nov-13 12:29 UTC
[LLVMdev] llvm 1.0, g++, SuSE 9, internal compiler error
> > - gcc bug > > - problem with SuSE distribution > > One of these two. In theory GCC should never crash (even if the LLVM > sources had problems), and since SuSE made modifications to the compiler > before they shipped it, they implicitly took responsibility for the end > result.I agree.> You can try sending a bug report to SuSE.hm, sending bug report is not my favorite hobby :)> That said, if you can figure out what is causing the problem,well, I know: assert( expression && "my way to kick out gcc from SuSE 9 :)" ) BTW, the following (expression && "my way to kick out gcc from SuSE 9 :)") is ok for gcc. So the problem comes from composition this argument with assert itself.> I would definitely like to put a workaround in the LLVM code, assuming it's not > too ugly. Compatibility with a broad range of compilers is important, > even if they are buggy. :)I see. The following ugly workaround helps: #ifdef NDEBUG bool b = getOption(ArgName) == Opt ; assert( b && "Arg not in map!"); #endif Well, one could camouflage this :) -- vak