status of EH tests in llvm test-suite

Hi,

I’m using the release version of llvm 2.6. In the llvm/projects/test-suite directory, there are several tests that are commented out from running, or not running via a define statement. In particular, I am inquiring about the status of the EH tests since some tests seem to be enabled to run by default, but some aren’t. From looking at your tests, I’ve noticed the following:

  1. I can see that some EH tests are running by default:

SingleSource/Regression/C++/EH:

ConditionalExpr

ctor_dtor_count

ctor_dtor_count2

dead_try_block

exception_spec_test

function_try_block

simple_rethrow

simple_throw

throw_rethrow_test

  1. The following test is commented out on purpose:

MultiSource/Benchmarks/Misc-C+±EH/spirit

Should this test still be commented out? It’s actually has the most lines of code of all your tests and seems quite useful. In addition, it seems to work for us. Is there something wrong with this test (e.g. buggy test?). Or is (or was) llvm buggy when running this test?

  1. There are also tests (using the default configuration) that in the Makefile specify “REQUIRES_EH_SUPPORT=1” and seem to not run by default:

SingleSource/UnitTests:

SetjmpLongjmp/C++/C++Catch.cpp

SetjmpLongjmp/C++/C/FarJump.c

SetjmpLongjmp/C++/C/Looping.c

SetjmpLongjmp/C++/C/MultipleSetjmp.c

SetjmpLongjmp/C++/C/SimpleCTest.c

SetjmpLongjmp/C++/C/WhileLoop.c

SignlessTypes/cast-bug.c

SignlessTypes/cast.cpp

SignlessTypes/cast2.cpp

SignlessTypes/ccc.c

SignlessTypes/div.c

SignlessTypes/factor.c

SignlessTypes/rem.c

SignlessTypes/shr.c

  1. are the –enable-eh and/or –enable-eh-conditional-support flags still needed? That is, to enable eh support, must one specify these flags? If so, are these flags only given as an argument to llc? Or to llvm-gcc/llvm-g++?

Thanks,

Jose

Jose Rangel

QA Engineer

Arxan Technologies, Inc.

I looked at this at one point; it got very inconsistent failures in several different Darwin environments, both ppc and x86, both gcc and llvm-gcc. It looked like a memory error of some kind, wild load or store somewhere, use-after-free, something like that. It was not I who disabled it but my data led me to agree with that decision.

Hi Dale,

Thanks for replying. Concerning Darwin, I compiled this test on snow
leopard and ran it using rosetta (that is, using -arch ppc -m32). I will
try this later on leopard.

Thanks,

Jose

Yes, it passed sometimes for me too. I no longer have the exact results, but there was no correlation with compiler or target.