<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Looking into this, for now can’t reproduce on my linux machine.<br class=""><div><blockquote type="cite" class=""><div class="">On Jul 28, 2017, at 12:28 PM, Kostya Serebryany <<a href="mailto:kcc@google.com" class="">kcc@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Looks like this made the sanitizer bot sad: <div class=""><a href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/3107" class="">http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/3107</a><br class=""></div><div class=""><pre style="font-family: 'Courier New', courier, monotype, monospace; font-size: inherit;" class=""><span class="gmail-stdout">-- Builtin supported architectures: i386;i686;x86_64
CMake Error at projects/compiler-rt/lib/msan/tests/CMakeLists.txt:88 (msan_compile):
msan_compile Macro invoked with incorrect arguments for macro named:
msan_compile
Call Stack (most recent call first):
projects/compiler-rt/lib/msan/tests/CMakeLists.txt:134 (add_msan_tests_for_arch)
-- Linker detection: GNU Gold
-- Linker detection: GNU Gold</span></pre></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Fri, Jul 28, 2017 at 10:32 AM, George Karpenkov via llvm-commits <span dir="ltr" class=""><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank" class="">llvm-commits@lists.llvm.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: george.karpenkov<br class="">
Date: Fri Jul 28 10:32:37 2017<br class="">
New Revision: 309405<br class="">
<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=309405&view=rev" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project?rev=309405&view=rev</a><br class="">
Log:<br class="">
[sanitizer tests CMake] Factor out CMake logic for compiling sanitizer tests<br class="">
<br class="">
Currently there's a large amount of CMake logic duplication for<br class="">
compiling sanitizer tests.<br class="">
If we add more sanitizers, the duplication will get even worse.<br class="">
<br class="">
This change factors out common compilation commands into a macro<br class="">
available to all sanitizers.<br class="">
<br class="">
Modified:<br class="">
compiler-rt/trunk/cmake/<wbr class="">Modules/CompilerRTCompile.<wbr class="">cmake<br class="">
compiler-rt/trunk/lib/asan/<wbr class="">tests/CMakeLists.txt<br class="">
compiler-rt/trunk/lib/msan/<wbr class="">tests/CMakeLists.txt<br class="">
compiler-rt/trunk/lib/tsan/<wbr class="">tests/CMakeLists.txt<br class="">
compiler-rt/trunk/lib/xray/<wbr class="">tests/CMakeLists.txt<br class="">
<br class="">
Modified: compiler-rt/trunk/cmake/<wbr class="">Modules/CompilerRTCompile.<wbr class="">cmake<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/Modules/CompilerRTCompile.cmake?rev=309405&r1=309404&r2=309405&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project/compiler-rt/trunk/<wbr class="">cmake/Modules/<wbr class="">CompilerRTCompile.cmake?rev=<wbr class="">309405&r1=309404&r2=309405&<wbr class="">view=diff</a><br class="">
==============================<wbr class="">==============================<wbr class="">==================<br class="">
--- compiler-rt/trunk/cmake/<wbr class="">Modules/CompilerRTCompile.<wbr class="">cmake (original)<br class="">
+++ compiler-rt/trunk/cmake/<wbr class="">Modules/CompilerRTCompile.<wbr class="">cmake Fri Jul 28 10:32:37 2017<br class="">
@@ -24,6 +24,41 @@ function(translate_msvc_cflags out_flags<br class="">
set(${out_flags} "${clang_flags}" PARENT_SCOPE)<br class="">
endfunction()<br class="">
<br class="">
+# Compile a sanitizer test with a freshly built clang<br class="">
+# for a given architecture, adding the result to the object list.<br class="">
+# - obj_list: output list of objects, populated by path<br class="">
+# of the generated object file.<br class="">
+# - source: source file of a test.<br class="">
+# - arch: architecture to compile for.<br class="">
+# sanitizer_test_compile(<obj_<wbr class="">list> <source> <arch><br class="">
+# KIND <custom namespace><br class="">
+# COMPILE_DEPS <list of compile-time dependencies><br class="">
+# DEPS <list of dependencies><br class="">
+# CFLAGS <list of flags><br class="">
+# )<br class="">
+macro(sanitizer_test_compile obj_list source arch)<br class="">
+ cmake_parse_arguments(TEST<br class="">
+ "" "" "KIND;COMPILE_DEPS;DEPS;<wbr class="">CFLAGS" ${ARGN})<br class="">
+ get_filename_component(<wbr class="">basename ${source} NAME)<br class="">
+ if(CMAKE_CONFIGURATION_TYPES)<br class="">
+ set(output_obj<br class="">
+ "${CMAKE_CFG_INTDIR}/${obj_<wbr class="">list}.${basename}.${arch}${<wbr class="">TEST_KIND}.o")<br class="">
+ else()<br class="">
+ set(output_obj "${obj_list}.${basename}.${<wbr class="">arch}${TEST_KIND}.o")<br class="">
+ endif()<br class="">
+<br class="">
+ # Write out architecture-specific flags into TARGET_CFLAGS variable.<br class="">
+ get_target_flags_for_arch(${<wbr class="">arch} TARGET_CFLAGS)<br class="">
+ set(COMPILE_DEPS ${TEST_COMPILE_DEPS})<br class="">
+ if(NOT COMPILER_RT_STANDALONE_BUILD)<br class="">
+ list(APPEND COMPILE_DEPS ${TEST_DEPS})<br class="">
+ endif()<br class="">
+ clang_compile(${output_obj} ${source}<br class="">
+ CFLAGS ${TEST_CFLAGS} ${TARGET_CFLAGS}<br class="">
+ DEPS ${TEST_COMPILE_DEPS})<br class="">
+ list(APPEND ${obj_list} ${output_obj})<br class="">
+endmacro()<br class="">
+<br class="">
# Compile a source into an object file with COMPILER_RT_TEST_COMPILER using<br class="">
# a provided compile flags and dependenices.<br class="">
# clang_compile(<object> <source><br class="">
<br class="">
Modified: compiler-rt/trunk/lib/asan/<wbr class="">tests/CMakeLists.txt<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/tests/CMakeLists.txt?rev=309405&r1=309404&r2=309405&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project/compiler-rt/trunk/lib/<wbr class="">asan/tests/CMakeLists.txt?rev=<wbr class="">309405&r1=309404&r2=309405&<wbr class="">view=diff</a><br class="">
==============================<wbr class="">==============================<wbr class="">==================<br class="">
--- compiler-rt/trunk/lib/asan/<wbr class="">tests/CMakeLists.txt (original)<br class="">
+++ compiler-rt/trunk/lib/asan/<wbr class="">tests/CMakeLists.txt Fri Jul 28 10:32:37 2017<br class="">
@@ -125,20 +125,14 @@ append_list_if(COMPILER_RT_<wbr class="">HAS_LIBLOG lo<br class="">
# NDK r10 requires -latomic almost always.<br class="">
append_list_if(ANDROID atomic ASAN_UNITTEST_NOINST_LIBS)<br class="">
<br class="">
-# Compile source for the given architecture, using compiler<br class="">
-# options in ${ARGN}, and add it to the object list.<br class="">
macro(asan_compile obj_list source arch kind)<br class="">
- get_filename_component(<wbr class="">basename ${source} NAME)<br class="">
- set(output_obj "${CMAKE_CFG_RESOLVED_INTDIR}$<wbr class="">{obj_list}.${basename}.${arch}<wbr class="">${kind}.o")<br class="">
- get_target_flags_for_arch(${<wbr class="">arch} TARGET_CFLAGS)<br class="">
- set(COMPILE_DEPS ${ASAN_UNITTEST_HEADERS} ${ASAN_BLACKLIST_FILE})<br class="">
- if(NOT COMPILER_RT_STANDALONE_BUILD)<br class="">
- list(APPEND COMPILE_DEPS gtest asan)<br class="">
- endif()<br class="">
- clang_compile(${output_obj} ${source}<br class="">
- CFLAGS ${ARGN} ${TARGET_CFLAGS}<br class="">
- DEPS ${COMPILE_DEPS})<br class="">
- list(APPEND ${obj_list} ${output_obj})<br class="">
+ cmake_parse_arguments(ASAN_<wbr class="">TEST "" "" "CFLAGS" ${ARGN})<br class="">
+ sanitizer_test_compile(${obj_<wbr class="">list} ${source} ${arch}<br class="">
+ KIND ${kind}<br class="">
+ COMPILE_DEPS ${ASAN_UNITTEST_HEADERS} ${ASAN_BLACKLIST_FILE}<br class="">
+ DEPS gtest asan<br class="">
+ CFLAGS ${ASAN_TEST_CFLAGS}<br class="">
+ )<br class="">
endmacro()<br class="">
<br class="">
# Link ASan unit test for a given architecture from a set<br class="">
@@ -200,17 +194,17 @@ set(ASAN_BENCHMARKS_SOURCES<br class="">
asan_benchmarks_test.cc)<br class="">
<br class="">
# Adds ASan unit tests and benchmarks for architecture.<br class="">
-macro(add_asan_tests_for_<wbr class="">arch_and_kind arch kind)<br class="">
+macro(add_asan_tests_for_<wbr class="">arch_and_kind arch kind cflags)<br class="">
# Instrumented tests.<br class="">
set(ASAN_INST_TEST_OBJECTS)<br class="">
foreach(src ${ASAN_INST_TEST_SOURCES})<br class="">
asan_compile(ASAN_INST_TEST_<wbr class="">OBJECTS ${src} ${arch} ${kind}<br class="">
- ${ASAN_UNITTEST_INSTRUMENTED_<wbr class="">CFLAGS} ${ARGN})<br class="">
+ CFLAGS ${ASAN_UNITTEST_INSTRUMENTED_<wbr class="">CFLAGS} ${cflags})<br class="">
endforeach()<br class="">
if (APPLE)<br class="">
# Add Mac-specific helper.<br class="">
asan_compile(ASAN_INST_TEST_<wbr class="">OBJECTS <a href="http://asan_mac_test_helpers.mm/" rel="noreferrer" target="_blank" class="">asan_mac_test_helpers.mm</a> ${arch} ${kind}<br class="">
- ${ASAN_UNITTEST_INSTRUMENTED_<wbr class="">CFLAGS} -ObjC ${ARGN})<br class="">
+ CFLAGS ${ASAN_UNITTEST_INSTRUMENTED_<wbr class="">CFLAGS} -ObjC ${cflags})<br class="">
endif()<br class="">
<br class="">
if (MSVC)<br class="">
@@ -219,7 +213,7 @@ macro(add_asan_tests_for_arch_<wbr class="">and_kind a<br class="">
set(ASAN_INST_DYNAMIC_TEST_<wbr class="">OBJECTS)<br class="">
foreach(src ${ASAN_INST_TEST_SOURCES})<br class="">
asan_compile(ASAN_INST_<wbr class="">DYNAMIC_TEST_OBJECTS ${src} ${arch} ${kind}<br class="">
- ${ASAN_UNITTEST_INSTRUMENTED_<wbr class="">CFLAGS} -D_MT -D_DLL ${ARGN})<br class="">
+ CFLAGS ${ASAN_UNITTEST_INSTRUMENTED_<wbr class="">CFLAGS} -D_MT -D_DLL ${cflags})<br class="">
endforeach()<br class="">
# Clang links the static CRT by default. Override that to use the dynamic<br class="">
# CRT.<br class="">
@@ -276,7 +270,7 @@ macro(add_asan_tests_for_arch_<wbr class="">and_kind a<br class="">
set(ASAN_NOINST_TEST_OBJECTS)<br class="">
foreach(src ${ASAN_NOINST_TEST_SOURCES})<br class="">
asan_compile(ASAN_NOINST_TEST_<wbr class="">OBJECTS ${src} ${arch} ${kind}<br class="">
- ${ASAN_UNITTEST_COMMON_CFLAGS} ${ARGN})<br class="">
+ CFLAGS ${ASAN_UNITTEST_COMMON_CFLAGS} ${cflags})<br class="">
endforeach()<br class="">
add_asan_test(AsanUnitTests "Asan-${arch}${kind}-Noinst-<wbr class="">Test"<br class="">
${arch} ${kind} SUBDIR "default"<br class="">
@@ -288,7 +282,7 @@ macro(add_asan_tests_for_arch_<wbr class="">and_kind a<br class="">
set(ASAN_BENCHMARKS_OBJECTS)<br class="">
foreach(src ${ASAN_BENCHMARKS_SOURCES})<br class="">
asan_compile(ASAN_BENCHMARKS_<wbr class="">OBJECTS ${src} ${arch} ${kind}<br class="">
- ${ASAN_UNITTEST_INSTRUMENTED_<wbr class="">CFLAGS} ${ARGN})<br class="">
+ CFLAGS ${ASAN_UNITTEST_INSTRUMENTED_<wbr class="">CFLAGS} ${cflags})<br class="">
endforeach()<br class="">
add_asan_test(AsanBenchmarks "Asan-${arch}${kind}-<wbr class="">Benchmark"<br class="">
${arch} ${kind} SUBDIR "default"<br class="">
@@ -302,9 +296,9 @@ if(COMPILER_RT_CAN_EXECUTE_<wbr class="">TESTS AND NOT<br class="">
darwin_filter_host_archs(ASAN_<wbr class="">SUPPORTED_ARCH ASAN_TEST_ARCH)<br class="">
endif()<br class="">
foreach(arch ${ASAN_TEST_ARCH})<br class="">
- add_asan_tests_for_arch_and_<wbr class="">kind(${arch} "-inline")<br class="">
+ add_asan_tests_for_arch_and_<wbr class="">kind(${arch} "-inline" "")<br class="">
add_asan_tests_for_arch_and_<wbr class="">kind(${arch} "-with-calls"<br class="">
- -mllvm -asan-instrumentation-with-<wbr class="">call-threshold=0)<br class="">
+ "-mllvm;-asan-instrumentation-<wbr class="">with-call-threshold=0")<br class="">
endforeach()<br class="">
endif()<br class="">
<br class="">
<br class="">
Modified: compiler-rt/trunk/lib/msan/<wbr class="">tests/CMakeLists.txt<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/msan/tests/CMakeLists.txt?rev=309405&r1=309404&r2=309405&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project/compiler-rt/trunk/lib/<wbr class="">msan/tests/CMakeLists.txt?rev=<wbr class="">309405&r1=309404&r2=309405&<wbr class="">view=diff</a><br class="">
==============================<wbr class="">==============================<wbr class="">==================<br class="">
--- compiler-rt/trunk/lib/msan/<wbr class="">tests/CMakeLists.txt (original)<br class="">
+++ compiler-rt/trunk/lib/msan/<wbr class="">tests/CMakeLists.txt Fri Jul 28 10:32:37 2017<br class="">
@@ -53,20 +53,14 @@ set(MSAN_UNITTEST_LINK_FLAGS<br class="">
<br class="">
append_list_if(COMPILER_RT_<wbr class="">HAS_LIBDL -ldl MSAN_UNITTEST_LINK_FLAGS)<br class="">
<br class="">
-# Compile source for the given architecture, using compiler<br class="">
-# options in ${ARGN}, and add it to the object list.<br class="">
-macro(msan_compile obj_list source arch kind)<br class="">
- get_filename_component(<wbr class="">basename ${source} NAME)<br class="">
- set(output_obj "${basename}.${arch}${kind}.o"<wbr class="">)<br class="">
- get_target_flags_for_arch(${<wbr class="">arch} TARGET_CFLAGS)<br class="">
- set(COMPILE_DEPS ${MSAN_UNITTEST_HEADERS})<br class="">
- if(NOT COMPILER_RT_STANDALONE_BUILD)<br class="">
- list(APPEND COMPILE_DEPS gtest msan)<br class="">
- endif()<br class="">
- clang_compile(${output_obj} ${source}<br class="">
- CFLAGS ${ARGN} ${TARGET_CFLAGS}<br class="">
- DEPS ${COMPILE_DEPS})<br class="">
- list(APPEND ${obj_list} ${output_obj})<br class="">
+macro(msan_compile obj_list source arch kind cflags)<br class="">
+ sanitizer_test_compile(<br class="">
+ ${obj_list} ${source} ${arch}<br class="">
+ KIND ${kind}<br class="">
+ COMPILE_DEPS ${MSAN_UNITTEST_HEADERS}<br class="">
+ DEPS gtest msan<br class="">
+ CFLAGS ${MSAN_UNITTEST_INSTRUMENTED_<wbr class="">CFLAGS} ${cflags}<br class="">
+ )<br class="">
endmacro()<br class="">
<br class="">
macro(msan_link_shared so_list so_name arch kind)<br class="">
@@ -88,23 +82,22 @@ add_custom_target(<wbr class="">MsanUnitTests)<br class="">
set_target_properties(<wbr class="">MsanUnitTests PROPERTIES FOLDER "MSan unit tests")<br class="">
<br class="">
# Adds MSan unit tests and benchmarks for architecture.<br class="">
-macro(add_msan_tests_for_arch arch kind)<br class="">
+macro(add_msan_tests_for_arch arch kind cflags)<br class="">
# Build gtest instrumented with MSan.<br class="">
set(MSAN_INST_GTEST)<br class="">
- msan_compile(MSAN_INST_GTEST ${COMPILER_RT_GTEST_SOURCE} ${arch} "${kind}"<br class="">
- ${MSAN_UNITTEST_INSTRUMENTED_<wbr class="">CFLAGS} ${ARGN})<br class="">
+ msan_compile(MSAN_INST_GTEST ${COMPILER_RT_GTEST_SOURCE} ${arch} ${kind}<br class="">
+ "${cflags}")<br class="">
<br class="">
# Instrumented tests.<br class="">
set(MSAN_INST_TEST_OBJECTS)<br class="">
foreach (SOURCE ${MSAN_UNITTEST_SOURCES})<br class="">
- msan_compile(MSAN_INST_TEST_<wbr class="">OBJECTS ${SOURCE} ${arch} "${kind}"<br class="">
- ${MSAN_UNITTEST_INSTRUMENTED_<wbr class="">CFLAGS} ${ARGN})<br class="">
+ msan_compile(MSAN_INST_TEST_<wbr class="">OBJECTS ${SOURCE} ${arch} "${kind}" "${cflags}")<br class="">
endforeach(SOURCE)<br class="">
<br class="">
# Instrumented loadable module objects.<br class="">
set(MSAN_INST_LOADABLE_<wbr class="">OBJECTS)<br class="">
msan_compile(MSAN_INST_<wbr class="">LOADABLE_OBJECTS ${MSAN_LOADABLE_SOURCE} ${arch} "${kind}"<br class="">
- ${MSAN_UNITTEST_INSTRUMENTED_<wbr class="">CFLAGS} "-fPIC" ${ARGN})<br class="">
+ "-fPIC;${cflags}")<br class="">
<br class="">
# Instrumented loadable library tests.<br class="">
set(MSAN_LOADABLE_SO)<br class="">
@@ -138,8 +131,8 @@ if(COMPILER_RT_CAN_EXECUTE_<wbr class="">TESTS AND COM<br class="">
CFLAGS ${MSAN_LIBCXX_CFLAGS} ${TARGET_CFLAGS})<br class="">
set(MSAN_LIBCXX_SO ${LIBCXX_PREFIX}/lib/libc++.<wbr class="">so)<br class="">
<br class="">
- add_msan_tests_for_arch(${<wbr class="">arch} "")<br class="">
+ add_msan_tests_for_arch(${<wbr class="">arch} "" "")<br class="">
add_msan_tests_for_arch(${<wbr class="">arch} "-with-call"<br class="">
- -mllvm -msan-instrumentation-with-<wbr class="">call-threshold=0)<br class="">
+ "-mllvm;-msan-instrumentation-<wbr class="">with-call-threshold=0")<br class="">
endforeach()<br class="">
endif()<br class="">
<br class="">
Modified: compiler-rt/trunk/lib/tsan/<wbr class="">tests/CMakeLists.txt<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/tests/CMakeLists.txt?rev=309405&r1=309404&r2=309405&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project/compiler-rt/trunk/lib/<wbr class="">tsan/tests/CMakeLists.txt?rev=<wbr class="">309405&r1=309404&r2=309405&<wbr class="">view=diff</a><br class="">
==============================<wbr class="">==============================<wbr class="">==================<br class="">
--- compiler-rt/trunk/lib/tsan/<wbr class="">tests/CMakeLists.txt (original)<br class="">
+++ compiler-rt/trunk/lib/tsan/<wbr class="">tests/CMakeLists.txt Fri Jul 28 10:32:37 2017<br class="">
@@ -23,21 +23,6 @@ foreach (header ${TSAN_HEADERS})<br class="">
list(APPEND TSAN_RTL_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/..<wbr class="">/${header})<br class="">
endforeach()<br class="">
<br class="">
-# tsan_compile(obj_list, source, arch, {headers})<br class="">
-macro(tsan_compile obj_list source arch)<br class="">
- get_filename_component(<wbr class="">basename ${source} NAME)<br class="">
- set(output_obj "${basename}.${arch}.o")<br class="">
- get_target_flags_for_arch(${<wbr class="">arch} TARGET_CFLAGS)<br class="">
- set(COMPILE_DEPS ${TSAN_RTL_HEADERS} ${ARGN})<br class="">
- if(NOT COMPILER_RT_STANDALONE_BUILD)<br class="">
- list(APPEND COMPILE_DEPS gtest tsan)<br class="">
- endif()<br class="">
- clang_compile(${output_obj} ${source}<br class="">
- CFLAGS ${TSAN_UNITTEST_CFLAGS} ${TARGET_CFLAGS}<br class="">
- DEPS ${COMPILE_DEPS})<br class="">
- list(APPEND ${obj_list} ${output_obj})<br class="">
-endmacro()<br class="">
-<br class="">
macro(add_tsan_unittest testname)<br class="">
set(TSAN_TEST_ARCH ${TSAN_SUPPORTED_ARCH})<br class="">
if(APPLE)<br class="">
@@ -48,7 +33,12 @@ macro(add_tsan_unittest testname)<br class="">
cmake_parse_arguments(TEST "" "" "SOURCES;HEADERS" ${ARGN})<br class="">
set(TEST_OBJECTS)<br class="">
foreach(SOURCE ${TEST_SOURCES} ${COMPILER_RT_GTEST_SOURCE})<br class="">
- tsan_compile(TEST_OBJECTS ${SOURCE} ${arch} ${TEST_HEADERS})<br class="">
+ sanitizer_test_compile(<br class="">
+ TEST_OBJECTS ${SOURCE} ${arch}<br class="">
+ COMPILE_DEPS ${TSAN_RTL_HEADERS} ${TEST_HEADERS}<br class="">
+ DEPS gtest tsan<br class="">
+ CFLAGS ${TSAN_UNITTEST_CFLAGS}<br class="">
+ )<br class="">
endforeach()<br class="">
get_target_flags_for_arch(${<wbr class="">arch} TARGET_LINK_FLAGS)<br class="">
set(TEST_DEPS ${TEST_OBJECTS})<br class="">
<br class="">
Modified: compiler-rt/trunk/lib/xray/<wbr class="">tests/CMakeLists.txt<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/xray/tests/CMakeLists.txt?rev=309405&r1=309404&r2=309405&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project/compiler-rt/trunk/lib/<wbr class="">xray/tests/CMakeLists.txt?rev=<wbr class="">309405&r1=309404&r2=309405&<wbr class="">view=diff</a><br class="">
==============================<wbr class="">==============================<wbr class="">==================<br class="">
--- compiler-rt/trunk/lib/xray/<wbr class="">tests/CMakeLists.txt (original)<br class="">
+++ compiler-rt/trunk/lib/xray/<wbr class="">tests/CMakeLists.txt Fri Jul 28 10:32:37 2017<br class="">
@@ -11,19 +11,6 @@ set(XRAY_UNITTEST_CFLAGS<br class="">
-I${COMPILER_RT_SOURCE_DIR}/<wbr class="">lib/xray<br class="">
-I${COMPILER_RT_SOURCE_DIR}/<wbr class="">lib)<br class="">
<br class="">
-macro(xray_compile obj_list source arch)<br class="">
- get_filename_component(<wbr class="">basename ${source} NAME)<br class="">
- set(output_obj "${basename}.${arch}.o")<br class="">
- get_target_flags_for_arch(${<wbr class="">arch} TARGET_CFLAGS)<br class="">
- if(NOT COMPILER_RT_STANDALONE_BUILD)<br class="">
- list(APPEND COMPILE_DEPS gtest_main xray)<br class="">
- endif()<br class="">
- clang_compile(${output_obj} ${source}<br class="">
- CFLAGS ${XRAY_UNITTEST_CFLAGS} ${TARGET_CFLAGS}<br class="">
- DEPS ${COMPILE_DEPS})<br class="">
- list(APPEND ${obj_list} ${output_obj})<br class="">
-endmacro()<br class="">
-<br class="">
macro(add_xray_unittest testname)<br class="">
set(XRAY_TEST_ARCH ${XRAY_SUPPORTED_ARCH})<br class="">
if (APPLE)<br class="">
@@ -34,7 +21,9 @@ macro(add_xray_unittest testname)<br class="">
cmake_parse_arguments(TEST "" "" "SOURCES;HEADERS" ${ARGN})<br class="">
set(TEST_OBJECTS)<br class="">
foreach(SOURCE ${TEST_SOURCES} ${COMPILER_RT_GTEST_SOURCE})<br class="">
- xray_compile(TEST_OBJECTS ${SOURCE} ${arch} ${TEST_HEADERS})<br class="">
+ sanitizer_test_compile(TEST_<wbr class="">OBJECTS ${SOURCE} ${arch}<br class="">
+ DEPS gtest_main xray<br class="">
+ CFLAGS ${XRAY_UNITTEST_CFLAGS})<br class="">
endforeach()<br class="">
get_target_flags_for_arch(${<wbr class="">arch} TARGET_LINK_FLAGS)<br class="">
set(TEST_DEPS ${TEST_OBJECTS})<br class="">
<br class="">
<br class="">
______________________________<wbr class="">_________________<br class="">
llvm-commits mailing list<br class="">
<a href="mailto:llvm-commits@lists.llvm.org" class="">llvm-commits@lists.llvm.org</a><br class="">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/llvm-commits</a><br class="">
</blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></body></html>