Index: External/SPEC/CFP2000/CMakeLists.txt =================================================================== --- External/SPEC/CFP2000/CMakeLists.txt +++ External/SPEC/CFP2000/CMakeLists.txt @@ -1,3 +1,4 @@ +list(APPEND LDFLAGS -lm) list(APPEND CPPFLAGS -DSPEC_CPU2000) if(CMAKE_SIZEOF_VOID_P EQUAL 8) list(APPEND CPPFLAGS -DSPEC_CPU2000_LP64) Index: External/SPEC/CINT2000/176.gcc/CMakeLists.txt =================================================================== --- External/SPEC/CINT2000/176.gcc/CMakeLists.txt +++ External/SPEC/CINT2000/176.gcc/CMakeLists.txt @@ -4,6 +4,9 @@ if(TARGET_OS STREQUAL "Darwin") list(APPEND LDFLAGS -Xlinker -stack_size -Xlinker 0x800000) endif() +if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + list(APPEND CFLAGS -std=gnu89) +endif() macro(test_input run_type ifile sfile) llvm_test_run(RUN_TYPE ${run_type} Index: External/SPEC/CINT2000/252.eon/CMakeLists.txt =================================================================== --- External/SPEC/CINT2000/252.eon/CMakeLists.txt +++ External/SPEC/CINT2000/252.eon/CMakeLists.txt @@ -1,10 +1,14 @@ -list(APPEND CPPFLAGS -include errno.h -DHAS_ERRLIST -DUSE_STRERROR -DSPEC_STDCPP) +list(APPEND CPPFLAGS -include errno.h -include string.h -DHAS_ERRLIST -DUSE_STRERROR -DSPEC_STDCPP) if(ARCH STREQUAL "PowerPC") list(APPEND CPPFLAGS -DFMAX_IS_DOUBLE) endif() -list(APPEND CXXFLAGS -fno-exceptions -Wno-deprecated -fpermissive -stdlib=libstdc++) -list(APPEND LDFLAGS -stdlib=libstdc++ -lm) +list(APPEND CXXFLAGS -fno-exceptions -Wno-deprecated -fpermissive) +list(APPEND LDFLAGS -lm) list(APPEND LIBS -lm) +if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + list(APPEND CPPFLAGS -Wno-implicit-function-declaration) +endif() + include_directories(${BENCHMARK_DIR}/src) # There's more sourcefiles in the directory than necessary so enumerate the ones Index: External/SPEC/CINT2000/253.perlbmk/CMakeLists.txt =================================================================== --- External/SPEC/CINT2000/253.perlbmk/CMakeLists.txt +++ External/SPEC/CINT2000/253.perlbmk/CMakeLists.txt @@ -31,6 +31,10 @@ MD5.c md5c.c ) + +list(APPEND CPPFLAGS -DSPEC_CPU2000_NEED_BOOL) +list(APPEND LDFLAGS -lm) + if(TARGET_OS STREQUAL "Win32") list(APPEND SourceNames nt_perlmain.c win32.c win32sck.c perllib.c) list(APPEND CPPFLAGS -DSPEC_CPU2000_NTOS -DWIN32 -D_CONSOLE) @@ -40,6 +44,9 @@ list(APPEND SourceNames unix_perlmain.c) list(APPEND CPPFLAGS -DSPEC_CPU2000_LINUX) endif() +if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + list(APPEND CPPFLAGS -std=gnu89) +endif() include(TestBigEndian) test_big_endian(IS_BIGENDIAN) Index: External/SPEC/CINT2000/255.vortex/CMakeLists.txt =================================================================== --- External/SPEC/CINT2000/255.vortex/CMakeLists.txt +++ External/SPEC/CINT2000/255.vortex/CMakeLists.txt @@ -1,3 +1,5 @@ +list(APPEND LDFLAGS -lm) + macro(test_input run_type input outfile) llvm_test_run(RUN_TYPE ${run_type} WORKDIR ${CMAKE_CURRENT_BINARY_DIR}/data/${run_type}/input Index: External/SPEC/CINT2000/300.twolf/CMakeLists.txt =================================================================== --- External/SPEC/CINT2000/300.twolf/CMakeLists.txt +++ External/SPEC/CINT2000/300.twolf/CMakeLists.txt @@ -1,3 +1,4 @@ +list(APPEND CPPFLAGS -DHAVE_SIGNED_CHAR) list(APPEND LDFLAGS -lm) list(APPEND CFLAGS -Wno-return-type) Index: External/SPEC/CINT2006/400.perlbench/CMakeLists.txt =================================================================== --- External/SPEC/CINT2006/400.perlbench/CMakeLists.txt +++ External/SPEC/CINT2006/400.perlbench/CMakeLists.txt @@ -1,5 +1,6 @@ list(APPEND CPPFLAGS -DPERL_CORE -DI_TIME) list(APPEND CFLAGS -std=gnu89) +list(APPEND LDFLAGS -lm) include_directories(${BENCHMARK_DIR}/src) Index: External/SPEC/CINT2006/445.gobmk/CMakeLists.txt =================================================================== --- External/SPEC/CINT2006/445.gobmk/CMakeLists.txt +++ External/SPEC/CINT2006/445.gobmk/CMakeLists.txt @@ -1,4 +1,5 @@ list(APPEND CPPFLAS -DWANT_STDC_PROTO) +list(APPEND LDFLAGS -lm) set(Source "") foreach(dir IN ITEMS Index: External/SPEC/CINT2006/456.hmmer/CMakeLists.txt =================================================================== --- External/SPEC/CINT2006/456.hmmer/CMakeLists.txt +++ External/SPEC/CINT2006/456.hmmer/CMakeLists.txt @@ -1,3 +1,5 @@ +list(APPEND LDFLAGS -lm) + macro(test_input run_type input output) # The benchmark modifies the data file, need to copy a fresh one llvm_test_run(RUN_TYPE ${run_type} EXECUTABLE cp -f Index: External/SPEC/CINT2006/464.h264ref/CMakeLists.txt =================================================================== --- External/SPEC/CINT2006/464.h264ref/CMakeLists.txt +++ External/SPEC/CINT2006/464.h264ref/CMakeLists.txt @@ -1,6 +1,5 @@ -if(ARCH STREQUAL "PowerPC" AND TARGET_OS STREQUAL "Linux") - list(APPEND CFLAGS -fsigned-char) -endif() +list(APPEND LDFLAGS -lm) +list(APPEND CFLAGS -fsigned-char) macro(test_input run_type leading level) llvm_test_run(RUN_TYPE ${run_type}