Mercurial > projects > ldc
view tests/runtest @ 1650:40bd4a0d4870
Update to work with LLVM 2.7.
Removed use of dyn_cast, llvm no compiles
without exceptions and rtti by
default. We do need exceptions for the libconfig stuff, but rtti isn't
necessary (anymore).
Debug info needs to be rewritten, as in LLVM 2.7 the format has
completely changed. To have something to look at while rewriting, the
old code has been wrapped inside #ifndef DISABLE_DEBUG_INFO , this means
that you have to define this to compile at the moment.
Updated tango 0.99.9 patch to include updated EH runtime code, which is
needed for LLVM 2.7 as well.
author | Tomas Lindquist Olsen |
---|---|
date | Wed, 19 May 2010 12:42:32 +0200 |
parents | 42fc0d955a0d |
children |
line wrap: on
line source
#!/bin/sh # check for command line arguments if [ -z "$1" ] ; then echo "Usage: `basename $0` <test result file>" exit fi TARGETFILE=$1 # build libtangobos-partial echo "Building libtangobos-partial.a" cd testincludes make cd .. # check for dstress if ! [ -d dstress ] ; then echo "Testing requires DStress to be checked out into dstress/" exit fi BASEPATH=`pwd` cd dstress # remove excessive tests sed -e 's/torture-//g' -i Makefile # make sure only .d files in 'run' tests are run sed -e 's/find run -type f |/find run -type f -name "*\\\\.d" |/' -i Makefile sed -e 's/find norun -type f |/find norun -type f -name "*\\\\.d" |/' -i Makefile # impose more conservative constraints (10s and 256 MB) sed -e 's/crashRun 30 1000/crashRun 10 256/' -i dstress.c echo echo "Running new test and storing result in $TARGETFILE ..." echo echo "Remember to make sure you have an up to date runtime!" echo if [ -z "$DMD" ] ; then echo "Testing with LDC. Set DMD environment variable to select compiler." DMD="ldmd -I$BASEPATH/testincludes -L$BASEPATH/testincludes/libtangobos-partial.a" echo "Default is $DMD" else echo "Using compiler given by DMD environment variable: $DMD" fi echo echo "This will take a while, try 'tail -f $TARGETFILE' to follow progress." echo "Note that aborting is tricky. Try killing the processes by the name of" echo "run.sh, compile.sh, nocompile.sh and norun.sh as well as this one." echo DMD=$DMD make compile nocompile run norun > ../$TARGETFILE cd .. echo echo "Cleanup... (removing all .o and .exe files)" echo find dstress -name "*\.o" -o -name "*\.exe" -delete