On Dec 19, 2007, at 2:25 PM, Anton Korobeynikov wrote:

Chris,

Nice!  What is the magic needed to trick it into doing this?  I'd
like the nightly testers to do this.  If you tell me the majik, I can
try to hook it up to happen automatically.
Usual magic is to generate .S file and compile/link it with native g++


(or .o file)
That works on an individual file basis. The problem file is libgcc_s. 10.5.dylib (would be 10.4 on Tiger, though I haven't exercised that). Removing that from llvm-gcc.obj/gcc and anywhere in the ld search page you might have installed it, such as /usr/local/lib, is a necessary step (the testsuite harness passes in its own -L and I haven't found a way to override it). There is a good dylib in /usr/lib.

However, there's more. To take a concrete example, I'll discuss g+ +.dg/eh/ctor1.C. In this case, the bad unwinding code will hang at runtime, while compiling from the command line with the local llvm-gcc and a good unwinding library works correctly.

However, I have not been able to get things to work using 'make check RUNTESTFLAGS=...' even though cutting and pasting the failing compilation line from the log file works fine, and even though passing in -Wl,-t shows the same libraries are being found in both cases.
The failing behavior is different:  it says

terminate called after throwing an instance of 'int'
terminate called recursively

rather than looping. This looks more like EH is not being turned on somehow. For your comfort and convenience, the harness deletes all the interesting files before exiting, so tracking this down is daunting. I'm sure this is a question of invoking the
testsuite properly; can any testsuite gurus help?

_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to