summaryrefslogtreecommitdiff
path: root/test/Unit/test
blob: f5b68b235a23952b735d8ebdfe9425355e3c475f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
for ARCH in i386 x86_64 ppc; do
	for FILE in $(ls *.c); do
		# Use -nodefaultlibs to avoid using libgcc.a
		# Use -lSystem to link with libSystem.dylb.
		# Note -lSystem is *after* libcompiler_rt.Optimized.a so that linker will 
		# prefer our implementation over the ones in libSystem.dylib
		EXTRA=
		if test $FILE = gcc_personality_test.c
		then
			# the gcc_personality_test.c requires a helper C++ program
			EXTRA="-fexceptions gcc_personality_test_helper.cxx -lstdc++ /usr/lib/libgcc_s.1.dylib"
			# the libgcc_s.1.dylib use at the end is a hack until libSystem contains _Unwind_Resume
		fi
		if test $FILE = trampoline_setup_test.c
		then
			# this test requires an extra compiler option
			EXTRA="-fnested-functions"
		fi
		if gcc -nodefaultlibs -arch $ARCH -Os $FILE ../../Release/libcompiler_rt.Optimized.a -lSystem $EXTRA
		then
			echo "Testing $FILE for $ARCH"
			if ./a.out
			then
				rm ./a.out
			else
				echo "fail"
				exit 1
			fi
		else
			echo "$FILE failed to compile"
			exit 1
		fi
	done
done
echo "pass"
exit