[llvm-commits] [test-suite] r40836 - in /test-suite/trunk: Makefile.programs MultiSource/Applications/Burg/Makefile MultiSource/Applications/SIBsim4/ MultiSource/Applications/minisat/ MultiSource/Applications/minisat/Makefile SingleSource/Benchmarks/Shootout-C++/Makefile SingleSource/Regression/C++/EH/Makefile SingleSource/Regression/C++/Makefile SingleSource/UnitTests/SetjmpLongjmp/C++/Makefile SingleSource/UnitTests/SignlessTypes/Makefile SingleSource/UnitTests/Threads/
Reid Spencer
rspencer at reidspencer.com
Sat Aug 4 23:10:33 PDT 2007
Author: reid
Date: Sun Aug 5 01:10:33 2007
New Revision: 40836
URL: http://llvm.org/viewvc/llvm-project?rev=40836&view=rev
Log:
Stabilize test-suite:
1. Return to using -enable-correct-eh-support instead of -enable-eh until the
enable-eh option proves itself. Several new test failures were tracked to
this option.
2. Ensure that C++ programs are linked with g++ and not gcc as it does make a
difference even though the input is assembly. The trick to doing this is
to look for test directories that put -lstdc++ in LDFLAGS. These are
undoubtedly C++ programs, even if just partially.
3. Correct the specification of -lstdc++ to be in LDFLAGS instead of LIBS in
various Makefiles.
4. Make a couple new test directories ignore the Output directory to beautify
the output of svn status.
Modified:
test-suite/trunk/Makefile.programs
test-suite/trunk/MultiSource/Applications/Burg/Makefile
test-suite/trunk/MultiSource/Applications/SIBsim4/ (props changed)
test-suite/trunk/MultiSource/Applications/minisat/ (props changed)
test-suite/trunk/MultiSource/Applications/minisat/Makefile
test-suite/trunk/SingleSource/Benchmarks/Shootout-C++/Makefile
test-suite/trunk/SingleSource/Regression/C++/EH/Makefile
test-suite/trunk/SingleSource/Regression/C++/Makefile
test-suite/trunk/SingleSource/UnitTests/SetjmpLongjmp/C++/Makefile
test-suite/trunk/SingleSource/UnitTests/SignlessTypes/Makefile
test-suite/trunk/SingleSource/UnitTests/Threads/ (props changed)
Modified: test-suite/trunk/Makefile.programs
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/Makefile.programs?rev=40836&r1=40835&r2=40836&view=diff
==============================================================================
--- test-suite/trunk/Makefile.programs (original)
+++ test-suite/trunk/Makefile.programs Sun Aug 5 01:10:33 2007
@@ -43,8 +43,7 @@
include $(LEVEL)/Makefile.tests
.PRECIOUS: Output/%.llvm Output/%.native Output/%.llc Output/%.llc.s
-.PRECIOUS: Output/%.cbe Output/%.cbe.c Output/%.llvm.bc
-.PRECIOUS: Output/%.linked.bc
+.PRECIOUS: Output/%.cbe Output/%.cbe.c Output/%.llvm.bc Output/%.linked.bc
# If we're using the llvm-gcc3 compiler then we need to also link with the
# llvm c runtime library, othwerwise we don't
@@ -304,7 +303,7 @@
# If the program requires exception handling support, enable (potentially
# expensive) support for it.
ifdef REQUIRES_EH_SUPPORT
-LLCFLAGS += -enable-eh
+LLCFLAGS += -enable-correct-eh-support
LLVMLD_FLAGS += -disable-inlining
endif
@@ -313,6 +312,14 @@
LLCFLAGS += $(TARGET_LLCFLAGS)
endif
+# It is important to link C++ programs with G++ so look for -lstdc++ in LDFLAGS
+# and set the LLVMGCCLD variable to the correct compiler interface to use.
+ifneq ($(filter -lstdc++,$(LDFLAGS)),)
+LLVMGCCLD := $(CXX)
+else
+LLVMGCCLD := $(CC)
+endif
+
#
# Rules to compile the program for the C Back End
#
@@ -320,14 +327,9 @@
Output/%.cbe.c: Output/%.llvm.bc $(LLC)
-$(LLC) $(LLCFLAGS) -march=c $< -o $@ -f
-ifdef REQUIRES_EH_SUPPORT
-MORE_LDFLAGS=-L$(LLVMGCCDIR)/lib/gcc/$(LLVMGCCARCH) -L$(LLVMGCCDIR)/lib -lstdc++
-endif
-
$(PROGRAMS_TO_TEST:%=Output/%.cbe): \
Output/%.cbe: Output/%.cbe.c
- -$(CC) $< -o $@ $(LDFLAGS) $(MORE_LDFLAGS) $(CFLAGS) \
- -fno-strict-aliasing -O2 -fno-inline $(TARGET_FLAGS)
+ -$(CC) $< -o $@ $(LDFLAGS) $(CFLAGS) -fno-strict-aliasing -O2 -fno-inline $(TARGET_FLAGS) $(LIBS)
#
# Compile a linked program to machine code with LLC.
@@ -353,13 +355,11 @@
#
$(PROGRAMS_TO_TEST:%=Output/%.llc): \
Output/%.llc: Output/%.llc.s
- -$(CC) $(CFLAGS) $< -o $@ $(LLCLIBS) $(LLCASSEMBLERFLAGS) \
- $(TARGET_FLAGS) $(LDFLAGS) $(MORE_LDFLAGS)
+ -$(LLVMGCCLD) $(CFLAGS) $< -o $@ $(LLCLIBS) $(LLCASSEMBLERFLAGS) $(TARGET_FLAGS) $(LDFLAGS)
$(PROGRAMS_TO_TEST:%=Output/%.llc-beta): \
Output/%.llc-beta: Output/%.llc-beta.s
- -$(CC) $(CFLAGS) $< -o $@ $(LLCLIBS) $(LLCASSEMBLERFLAGS) \
- $(TARGET_FLAGS) $(LDFLAGS) $(MORE_LDFLAGS)
+ -$(LLVMGCCLD) $(CFLAGS) $< -o $@ $(LLCLIBS) $(LLCASSEMBLERFLAGS) $(TARGET_FLAGS) $(LDFLAGS)
#
@@ -377,7 +377,7 @@
# If the program requires exception handling support, enable (potentially
# expensive) support for it.
ifdef REQUIRES_EH_SUPPORT
-JIT_OPTS += -enable-eh
+JIT_OPTS += -enable-correct-eh-support
endif
native: $(PROGRAMS_TO_TEST:%=Output/%.native)
Modified: test-suite/trunk/MultiSource/Applications/Burg/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Applications/Burg/Makefile?rev=40836&r1=40835&r2=40836&view=diff
==============================================================================
--- test-suite/trunk/MultiSource/Applications/Burg/Makefile (original)
+++ test-suite/trunk/MultiSource/Applications/Burg/Makefile Sun Aug 5 01:10:33 2007
@@ -4,7 +4,7 @@
PROG = burg
CPPFLAGS = -DDEBUG
-LDFLAGS =
+LDFLAGS = -lstdc++
ExtraSource := y.tab.c
Propchange: test-suite/trunk/MultiSource/Applications/SIBsim4/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Aug 5 01:10:33 2007
@@ -0,0 +1 @@
+Output
Propchange: test-suite/trunk/MultiSource/Applications/minisat/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Aug 5 01:10:33 2007
@@ -0,0 +1 @@
+Output
Modified: test-suite/trunk/MultiSource/Applications/minisat/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Applications/minisat/Makefile?rev=40836&r1=40835&r2=40836&view=diff
==============================================================================
--- test-suite/trunk/MultiSource/Applications/minisat/Makefile (original)
+++ test-suite/trunk/MultiSource/Applications/minisat/Makefile Sun Aug 5 01:10:33 2007
@@ -3,7 +3,7 @@
LEVEL = ../../..
PROG = minisat
CPPFLAGS = -D NDEBUG
-LDFLAGS = -lz -lm
+LDFLAGS = -lz -lstdc++ -lm
ifdef SMALL_PROBLEM_SIZE
RUN_OPTIONS = -verbosity=0 $(PROJ_SRC_DIR)/small.cnf.gz
else
Modified: test-suite/trunk/SingleSource/Benchmarks/Shootout-C++/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/Benchmarks/Shootout-C%2B%2B/Makefile?rev=40836&r1=40835&r2=40836&view=diff
==============================================================================
--- test-suite/trunk/SingleSource/Benchmarks/Shootout-C++/Makefile (original)
+++ test-suite/trunk/SingleSource/Benchmarks/Shootout-C++/Makefile Sun Aug 5 01:10:33 2007
@@ -1,7 +1,8 @@
LEVEL = ../../..
CXXFLAGS += -Wno-deprecated
CPPFLAGS += -Wno-deprecated
-REQUIRES_EH_SUPPORT=1
-FP_TOLERANCE = 0.00000001
+REQUIRES_EH_SUPPORT:=1
+FP_TOLERANCE := 0.00000001
+LDFLAGS += -lstdc++
include $(LEVEL)/SingleSource/Makefile.singlesrc
Modified: test-suite/trunk/SingleSource/Regression/C++/EH/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/Regression/C%2B%2B/EH/Makefile?rev=40836&r1=40835&r2=40836&view=diff
==============================================================================
--- test-suite/trunk/SingleSource/Regression/C++/EH/Makefile (original)
+++ test-suite/trunk/SingleSource/Regression/C++/EH/Makefile Sun Aug 5 01:10:33 2007
@@ -3,5 +3,4 @@
include $(LEVEL)/SingleSource/Makefile.singlesrc
CFLAGS += -std=c99
-LIBS = -lstdc++
-
+LDFLAGS += -lstdc++
Modified: test-suite/trunk/SingleSource/Regression/C++/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/Regression/C%2B%2B/Makefile?rev=40836&r1=40835&r2=40836&view=diff
==============================================================================
--- test-suite/trunk/SingleSource/Regression/C++/Makefile (original)
+++ test-suite/trunk/SingleSource/Regression/C++/Makefile Sun Aug 5 01:10:33 2007
@@ -6,7 +6,6 @@
#
LEVEL = ../../..
DIRS=EH
-LDFLAGS += -lstdc++
include $(LEVEL)/SingleSource/Makefile.singlesrc
CFLAGS += -std=c99
-
+LDFLAGS += -lstdc++
Modified: test-suite/trunk/SingleSource/UnitTests/SetjmpLongjmp/C++/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/UnitTests/SetjmpLongjmp/C%2B%2B/Makefile?rev=40836&r1=40835&r2=40836&view=diff
==============================================================================
--- test-suite/trunk/SingleSource/UnitTests/SetjmpLongjmp/C++/Makefile (original)
+++ test-suite/trunk/SingleSource/UnitTests/SetjmpLongjmp/C++/Makefile Sun Aug 5 01:10:33 2007
@@ -1,7 +1,5 @@
# SingleSource/UnitTests/SetjmpLongjmp/Makefile
LEVEL = ../../../..
REQUIRES_EH_SUPPORT = 1
-LIBS = -lstdc++
include $(LEVEL)/SingleSource/Makefile.singlesrc
-
-
+LDFLAGS += -lstdc++
Modified: test-suite/trunk/SingleSource/UnitTests/SignlessTypes/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/UnitTests/SignlessTypes/Makefile?rev=40836&r1=40835&r2=40836&view=diff
==============================================================================
--- test-suite/trunk/SingleSource/UnitTests/SignlessTypes/Makefile (original)
+++ test-suite/trunk/SingleSource/UnitTests/SignlessTypes/Makefile Sun Aug 5 01:10:33 2007
@@ -10,5 +10,5 @@
# the same results regardless of whether you make clean or not.
RUN_OPTIONS := 31415926
-include $(LEVEL)/Makefile.config
+LDFLAGS += -lstdc++
include $(LEVEL)/SingleSource/Makefile.singlesrc
Propchange: test-suite/trunk/SingleSource/UnitTests/Threads/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Aug 5 01:10:33 2007
@@ -0,0 +1 @@
+Output
More information about the llvm-commits
mailing list