svn commit: r303235 - in vendor/compiler-rt/dist: . SDKs cmake cmake/Modules cmake/caches include include/sanitizer lib lib/asan lib/asan/scripts lib/asan/tests lib/builtins lib/builtins/Darwin-exc...
Dimitry Andric
dim at FreeBSD.org
Sat Jul 23 20:45:39 UTC 2016
Author: dim
Date: Sat Jul 23 20:45:36 2016
New Revision: 303235
URL: https://svnweb.freebsd.org/changeset/base/303235
Log:
Vendor import of compiler-rt release_39 branch r276489:
https://llvm.org/svn/llvm-project/compiler-rt/branches/release_39@276489
Added:
vendor/compiler-rt/dist/cmake/Modules/BuiltinTests.cmake
vendor/compiler-rt/dist/cmake/base-config-ix.cmake
vendor/compiler-rt/dist/cmake/builtin-config-ix.cmake
vendor/compiler-rt/dist/cmake/caches/
vendor/compiler-rt/dist/cmake/caches/Apple.cmake
vendor/compiler-rt/dist/include/sanitizer/esan_interface.h (contents, props changed)
vendor/compiler-rt/dist/lib/asan/asan_memory_profile.cc (contents, props changed)
vendor/compiler-rt/dist/lib/asan/asan_scariness_score.h (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/cpu_model.c (contents, props changed)
vendor/compiler-rt/dist/lib/esan/
vendor/compiler-rt/dist/lib/esan/CMakeLists.txt (contents, props changed)
vendor/compiler-rt/dist/lib/esan/cache_frag.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/esan/cache_frag.h (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan.h (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan.syms.extra
vendor/compiler-rt/dist/lib/esan/esan_circular_buffer.h (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan_flags.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan_flags.h (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan_flags.inc (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan_interceptors.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan_interface.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan_interface_internal.h (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan_linux.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan_shadow.h (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan_sideline.h (contents, props changed)
vendor/compiler-rt/dist/lib/esan/esan_sideline_linux.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/esan/working_set.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/esan/working_set.h (contents, props changed)
vendor/compiler-rt/dist/lib/esan/working_set_posix.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/interception/tests/
vendor/compiler-rt/dist/lib/interception/tests/CMakeLists.txt (contents, props changed)
vendor/compiler-rt/dist/lib/interception/tests/interception_linux_test.cc (contents, props changed)
vendor/compiler-rt/dist/lib/interception/tests/interception_test_main.cc (contents, props changed)
vendor/compiler-rt/dist/lib/interception/tests/interception_win_test.cc (contents, props changed)
vendor/compiler-rt/dist/lib/profile/InstrProfilingMerge.c (contents, props changed)
vendor/compiler-rt/dist/lib/profile/InstrProfilingMergeFile.c (contents, props changed)
vendor/compiler-rt/dist/lib/sanitizer_common/.clang-tidy
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_s390.cc (contents, props changed)
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_x86_64.S (contents, props changed)
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_termination.cc (contents, props changed)
vendor/compiler-rt/dist/lib/scudo/
vendor/compiler-rt/dist/lib/scudo/CMakeLists.txt (contents, props changed)
vendor/compiler-rt/dist/lib/scudo/scudo_allocator.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/scudo/scudo_allocator.h (contents, props changed)
vendor/compiler-rt/dist/lib/scudo/scudo_flags.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/scudo/scudo_flags.h (contents, props changed)
vendor/compiler-rt/dist/lib/scudo/scudo_flags.inc (contents, props changed)
vendor/compiler-rt/dist/lib/scudo/scudo_interceptors.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/scudo/scudo_new_delete.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/scudo/scudo_termination.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/scudo/scudo_utils.cpp (contents, props changed)
vendor/compiler-rt/dist/lib/scudo/scudo_utils.h (contents, props changed)
vendor/compiler-rt/dist/lib/stats/
vendor/compiler-rt/dist/lib/stats/CMakeLists.txt (contents, props changed)
vendor/compiler-rt/dist/lib/stats/stats.cc (contents, props changed)
vendor/compiler-rt/dist/lib/stats/stats.h (contents, props changed)
vendor/compiler-rt/dist/lib/stats/stats_client.cc (contents, props changed)
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_debugging.cc (contents, props changed)
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_preinit.cc (contents, props changed)
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_proc.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/dead-strip.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/malloc_size_crash.mm
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/segv_read_write.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage_html_report.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/local_alias.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/memmem_test.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/new_delete_mismatch.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/odr_c_test.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/print_memory_profile_test.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/recvfrom.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/scariness_score_test.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/segv_read_write.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/stack-overflow-recovery-mode.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/swapcontext_annotation.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/dump_instruction_bytes.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/global-registration.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/mmap_limit_mb.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/print_cmdline.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Windows/crash_read_write.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/alloca_constant_size.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/coverage-trace-pc.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/invalid-pointer-pairs.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-capture.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-chars.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-if.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-loop-bug.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-loop-removed.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-loop.cc (contents, props changed)
vendor/compiler-rt/dist/test/builtins/Unit/cpu_model_test.c (contents, props changed)
vendor/compiler-rt/dist/test/cfi/cross-dso/dlopen.cpp (contents, props changed)
vendor/compiler-rt/dist/test/cfi/cross-dso/icall/diag.cpp (contents, props changed)
vendor/compiler-rt/dist/test/cfi/cross-dso/shadow_is_read_only.cpp (contents, props changed)
vendor/compiler-rt/dist/test/cfi/cross-dso/stats.cpp (contents, props changed)
vendor/compiler-rt/dist/test/cfi/cross-dso/target_out_of_bounds.cpp (contents, props changed)
vendor/compiler-rt/dist/test/cfi/stats.cpp (contents, props changed)
vendor/compiler-rt/dist/test/cfi/target_uninstrumented.cpp (contents, props changed)
vendor/compiler-rt/dist/test/esan/
vendor/compiler-rt/dist/test/esan/CMakeLists.txt (contents, props changed)
vendor/compiler-rt/dist/test/esan/TestCases/
vendor/compiler-rt/dist/test/esan/TestCases/large-stack-linux.c (contents, props changed)
vendor/compiler-rt/dist/test/esan/TestCases/libc-intercept.c (contents, props changed)
vendor/compiler-rt/dist/test/esan/TestCases/mmap-shadow-conflict.c (contents, props changed)
vendor/compiler-rt/dist/test/esan/TestCases/struct-simple.cpp (contents, props changed)
vendor/compiler-rt/dist/test/esan/TestCases/verbose-simple.c (contents, props changed)
vendor/compiler-rt/dist/test/esan/TestCases/workingset-early-fault.c (contents, props changed)
vendor/compiler-rt/dist/test/esan/TestCases/workingset-memset.cpp (contents, props changed)
vendor/compiler-rt/dist/test/esan/TestCases/workingset-midreport.cpp (contents, props changed)
vendor/compiler-rt/dist/test/esan/TestCases/workingset-samples.cpp (contents, props changed)
vendor/compiler-rt/dist/test/esan/TestCases/workingset-signal-posix.cpp (contents, props changed)
vendor/compiler-rt/dist/test/esan/TestCases/workingset-simple.cpp (contents, props changed)
vendor/compiler-rt/dist/test/esan/Unit/
vendor/compiler-rt/dist/test/esan/Unit/circular_buffer.cpp (contents, props changed)
vendor/compiler-rt/dist/test/esan/lit.cfg
vendor/compiler-rt/dist/test/esan/lit.site.cfg.in (contents, props changed)
vendor/compiler-rt/dist/test/lsan/TestCases/guard-page.c (contents, props changed)
vendor/compiler-rt/dist/test/msan/Linux/cmsghdr.cc (contents, props changed)
vendor/compiler-rt/dist/test/msan/Linux/eventfd.cc (contents, props changed)
vendor/compiler-rt/dist/test/msan/Linux/sendmsg.cc (contents, props changed)
vendor/compiler-rt/dist/test/msan/Linux/syscalls_sigaction.cc (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/extern_template.cpp (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/extern_template.h (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/extern_template1.cpp (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/extern_template2.cpp (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-alloc.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-comdat-1.cpp (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-comdat-2.cpp (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-comdat.h (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-file_ex.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-icall-promo.h (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-icall-promo_1.cc (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-icall-promo_2.cc (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-merge-match-lib.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-merge-match.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-value-prof-evict.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-value-prof-real.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-visibility-helper.cpp (contents, props changed)
vendor/compiler-rt/dist/test/profile/Linux/coverage_ctors.cpp (contents, props changed)
vendor/compiler-rt/dist/test/profile/Linux/coverage_dtor.cpp (contents, props changed)
vendor/compiler-rt/dist/test/profile/Linux/coverage_shared.test
vendor/compiler-rt/dist/test/profile/Linux/coverage_test.cpp (contents, props changed)
vendor/compiler-rt/dist/test/profile/Linux/extern_template.test
vendor/compiler-rt/dist/test/profile/Linux/instrprof-alloc.test
vendor/compiler-rt/dist/test/profile/Linux/instrprof-comdat.test
vendor/compiler-rt/dist/test/profile/Linux/instrprof-file_ex.test
vendor/compiler-rt/dist/test/profile/Linux/instrprof-merge-vp.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/Linux/instrprof-set-filename-shared.test
vendor/compiler-rt/dist/test/profile/Linux/instrprof-value-prof-warn.test
vendor/compiler-rt/dist/test/profile/instrprof-hostname.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/instrprof-icall-promo.test
vendor/compiler-rt/dist/test/profile/instrprof-merge-match.test
vendor/compiler-rt/dist/test/profile/instrprof-merge.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/instrprof-value-prof-evict.test
vendor/compiler-rt/dist/test/profile/instrprof-value-prof-shared.test
vendor/compiler-rt/dist/test/profile/instrprof-value-prof.test
vendor/compiler-rt/dist/test/profile/instrprof-visibility-kinds.inc (contents, props changed)
vendor/compiler-rt/dist/test/profile/instrprof-visibility.cpp (contents, props changed)
vendor/compiler-rt/dist/test/safestack/canary.c (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cc (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/recv_msg_trunc.cc (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/weak_hook_test.cc (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/dedup_token_length_test.cc (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/getpass.cc (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_fd_test.cc (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/strnlen.c (contents, props changed)
vendor/compiler-rt/dist/test/scudo/
vendor/compiler-rt/dist/test/scudo/CMakeLists.txt (contents, props changed)
vendor/compiler-rt/dist/test/scudo/alignment.cpp (contents, props changed)
vendor/compiler-rt/dist/test/scudo/double-free.cpp (contents, props changed)
vendor/compiler-rt/dist/test/scudo/lit.cfg
vendor/compiler-rt/dist/test/scudo/lit.site.cfg.in (contents, props changed)
vendor/compiler-rt/dist/test/scudo/malloc.cpp (contents, props changed)
vendor/compiler-rt/dist/test/scudo/memalign.cpp (contents, props changed)
vendor/compiler-rt/dist/test/scudo/mismatch.cpp (contents, props changed)
vendor/compiler-rt/dist/test/scudo/overflow.cpp (contents, props changed)
vendor/compiler-rt/dist/test/scudo/preinit.cpp (contents, props changed)
vendor/compiler-rt/dist/test/scudo/quarantine.cpp (contents, props changed)
vendor/compiler-rt/dist/test/scudo/realloc.cpp (contents, props changed)
vendor/compiler-rt/dist/test/scudo/sized-delete.cpp (contents, props changed)
vendor/compiler-rt/dist/test/scudo/sizes.cpp (contents, props changed)
vendor/compiler-rt/dist/test/tsan/Darwin/dispatch_main.mm
vendor/compiler-rt/dist/test/tsan/Darwin/dispatch_once_deadlock.mm
vendor/compiler-rt/dist/test/tsan/Darwin/dlopen.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-after.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-apply-race.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-apply.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-barrier-race.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-barrier.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-blocks.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-data.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-fd.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-groups-destructor.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-groups-leave.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-io-barrier-race.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-io-barrier.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-io-cleanup.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-io-race.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-io.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-source-cancel.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-source-cancel2.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-source-event.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-source-event2.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-source-registration.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-source-registration2.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-source-serial.mm
vendor/compiler-rt/dist/test/tsan/Darwin/ignored-interceptors.mm
vendor/compiler-rt/dist/test/tsan/Darwin/libcxx-shared-ptr-recursive.mm
vendor/compiler-rt/dist/test/tsan/Darwin/libcxx-shared-ptr-stress.mm
vendor/compiler-rt/dist/test/tsan/Darwin/libcxx-shared-ptr.mm
vendor/compiler-rt/dist/test/tsan/Darwin/malloc-stack-logging.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/Darwin/malloc_size.mm
vendor/compiler-rt/dist/test/tsan/Darwin/osatomics-add.mm
vendor/compiler-rt/dist/test/tsan/Darwin/osatomics-list.mm
vendor/compiler-rt/dist/test/tsan/Darwin/xpc-race.mm
vendor/compiler-rt/dist/test/tsan/Darwin/xpc.mm
vendor/compiler-rt/dist/test/tsan/Linux/check_preinit.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/debugging.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/dtls.c (contents, props changed)
vendor/compiler-rt/dist/test/tsan/ignore_lib4.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/ignored-interceptors-mmap.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/lots_of_threads.c (contents, props changed)
vendor/compiler-rt/dist/test/tsan/mutex_annotations.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/mutex_cycle_long.c (contents, props changed)
vendor/compiler-rt/dist/test/tsan/mutex_lock_destroyed.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/pthread_key.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/signal_sync2.cc (contents, props changed)
vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/Helpers/
vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr-corrupted-vtable-itanium.cpp (contents, props changed)
vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr-non-unique-typeinfo.cpp (contents, props changed)
Deleted:
vendor/compiler-rt/dist/SDKs/
vendor/compiler-rt/dist/lib/asan/Makefile.mk
vendor/compiler-rt/dist/lib/builtins/Darwin-excludes/10.4-x86_64.txt
vendor/compiler-rt/dist/lib/builtins/Darwin-excludes/osx-x86_64.txt
vendor/compiler-rt/dist/lib/interception/Makefile.mk
vendor/compiler-rt/dist/lib/lsan/Makefile.mk
vendor/compiler-rt/dist/lib/profile/Makefile.mk
vendor/compiler-rt/dist/lib/sanitizer_common/Makefile.mk
vendor/compiler-rt/dist/lib/ubsan/Makefile.mk
vendor/compiler-rt/dist/test/asan/TestCases/Windows/throw_catch.cc
vendor/compiler-rt/dist/test/asan/TestCases/dump_instruction_bytes.cc
vendor/compiler-rt/dist/test/asan/TestCases/mmap_limit_mb.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/getpass.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/sanitizer_set_death_callback_test.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
Modified:
vendor/compiler-rt/dist/.arcconfig
vendor/compiler-rt/dist/CMakeLists.txt
vendor/compiler-rt/dist/CODE_OWNERS.TXT
vendor/compiler-rt/dist/LICENSE.TXT
vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake
vendor/compiler-rt/dist/cmake/Modules/CompilerRTCompile.cmake
vendor/compiler-rt/dist/cmake/Modules/CompilerRTDarwinUtils.cmake
vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake
vendor/compiler-rt/dist/cmake/Modules/SanitizerUtils.cmake
vendor/compiler-rt/dist/cmake/config-ix.cmake
vendor/compiler-rt/dist/include/CMakeLists.txt
vendor/compiler-rt/dist/include/sanitizer/allocator_interface.h
vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h
vendor/compiler-rt/dist/include/sanitizer/linux_syscall_hooks.h
vendor/compiler-rt/dist/lib/CMakeLists.txt
vendor/compiler-rt/dist/lib/Makefile.mk
vendor/compiler-rt/dist/lib/asan/CMakeLists.txt
vendor/compiler-rt/dist/lib/asan/asan_activation.cc
vendor/compiler-rt/dist/lib/asan/asan_allocator.cc
vendor/compiler-rt/dist/lib/asan/asan_allocator.h
vendor/compiler-rt/dist/lib/asan/asan_fake_stack.cc
vendor/compiler-rt/dist/lib/asan/asan_fake_stack.h
vendor/compiler-rt/dist/lib/asan/asan_flags.cc
vendor/compiler-rt/dist/lib/asan/asan_flags.inc
vendor/compiler-rt/dist/lib/asan/asan_globals.cc
vendor/compiler-rt/dist/lib/asan/asan_init_version.h
vendor/compiler-rt/dist/lib/asan/asan_interceptors.cc
vendor/compiler-rt/dist/lib/asan/asan_interceptors.h
vendor/compiler-rt/dist/lib/asan/asan_interface_internal.h
vendor/compiler-rt/dist/lib/asan/asan_internal.h
vendor/compiler-rt/dist/lib/asan/asan_linux.cc
vendor/compiler-rt/dist/lib/asan/asan_mac.cc
vendor/compiler-rt/dist/lib/asan/asan_malloc_linux.cc
vendor/compiler-rt/dist/lib/asan/asan_malloc_win.cc
vendor/compiler-rt/dist/lib/asan/asan_mapping.h
vendor/compiler-rt/dist/lib/asan/asan_new_delete.cc
vendor/compiler-rt/dist/lib/asan/asan_poisoning.cc
vendor/compiler-rt/dist/lib/asan/asan_posix.cc
vendor/compiler-rt/dist/lib/asan/asan_report.cc
vendor/compiler-rt/dist/lib/asan/asan_report.h
vendor/compiler-rt/dist/lib/asan/asan_rtl.cc
vendor/compiler-rt/dist/lib/asan/asan_stack.h
vendor/compiler-rt/dist/lib/asan/asan_suppressions.cc
vendor/compiler-rt/dist/lib/asan/asan_thread.cc
vendor/compiler-rt/dist/lib/asan/asan_thread.h
vendor/compiler-rt/dist/lib/asan/asan_win.cc
vendor/compiler-rt/dist/lib/asan/asan_win_dll_thunk.cc
vendor/compiler-rt/dist/lib/asan/asan_win_dynamic_runtime_thunk.cc
vendor/compiler-rt/dist/lib/asan/scripts/asan_device_setup
vendor/compiler-rt/dist/lib/asan/tests/CMakeLists.txt
vendor/compiler-rt/dist/lib/asan/tests/asan_noinst_test.cc
vendor/compiler-rt/dist/lib/asan/tests/asan_str_test.cc
vendor/compiler-rt/dist/lib/asan/tests/asan_test.cc
vendor/compiler-rt/dist/lib/asan/tests/asan_test_main.cc
vendor/compiler-rt/dist/lib/builtins/CMakeLists.txt
vendor/compiler-rt/dist/lib/builtins/Darwin-excludes/10.4.txt
vendor/compiler-rt/dist/lib/builtins/Darwin-excludes/osx-i386.txt
vendor/compiler-rt/dist/lib/builtins/Darwin-excludes/osx.txt
vendor/compiler-rt/dist/lib/builtins/arm/adddf3vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/addsf3vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/aeabi_cdcmp.S
vendor/compiler-rt/dist/lib/builtins/arm/aeabi_cfcmp.S
vendor/compiler-rt/dist/lib/builtins/arm/aeabi_dcmp.S
vendor/compiler-rt/dist/lib/builtins/arm/aeabi_fcmp.S
vendor/compiler-rt/dist/lib/builtins/arm/aeabi_idivmod.S
vendor/compiler-rt/dist/lib/builtins/arm/aeabi_ldivmod.S
vendor/compiler-rt/dist/lib/builtins/arm/aeabi_memcmp.S
vendor/compiler-rt/dist/lib/builtins/arm/aeabi_memcpy.S
vendor/compiler-rt/dist/lib/builtins/arm/aeabi_memmove.S
vendor/compiler-rt/dist/lib/builtins/arm/aeabi_memset.S
vendor/compiler-rt/dist/lib/builtins/arm/aeabi_uidivmod.S
vendor/compiler-rt/dist/lib/builtins/arm/aeabi_uldivmod.S
vendor/compiler-rt/dist/lib/builtins/arm/bswapdi2.S
vendor/compiler-rt/dist/lib/builtins/arm/bswapsi2.S
vendor/compiler-rt/dist/lib/builtins/arm/clzdi2.S
vendor/compiler-rt/dist/lib/builtins/arm/clzsi2.S
vendor/compiler-rt/dist/lib/builtins/arm/comparesf2.S
vendor/compiler-rt/dist/lib/builtins/arm/divdf3vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/divmodsi4.S
vendor/compiler-rt/dist/lib/builtins/arm/divsf3vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/divsi3.S
vendor/compiler-rt/dist/lib/builtins/arm/eqdf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/eqsf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/extendsfdf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/fixdfsivfp.S
vendor/compiler-rt/dist/lib/builtins/arm/fixsfsivfp.S
vendor/compiler-rt/dist/lib/builtins/arm/fixunsdfsivfp.S
vendor/compiler-rt/dist/lib/builtins/arm/fixunssfsivfp.S
vendor/compiler-rt/dist/lib/builtins/arm/floatsidfvfp.S
vendor/compiler-rt/dist/lib/builtins/arm/floatsisfvfp.S
vendor/compiler-rt/dist/lib/builtins/arm/floatunssidfvfp.S
vendor/compiler-rt/dist/lib/builtins/arm/floatunssisfvfp.S
vendor/compiler-rt/dist/lib/builtins/arm/gedf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/gesf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/gtdf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/gtsf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/ledf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/lesf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/ltdf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/ltsf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/modsi3.S
vendor/compiler-rt/dist/lib/builtins/arm/muldf3vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/mulsf3vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/nedf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/negdf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/negsf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/nesf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/restore_vfp_d8_d15_regs.S
vendor/compiler-rt/dist/lib/builtins/arm/save_vfp_d8_d15_regs.S
vendor/compiler-rt/dist/lib/builtins/arm/subdf3vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/subsf3vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/switch16.S
vendor/compiler-rt/dist/lib/builtins/arm/switch32.S
vendor/compiler-rt/dist/lib/builtins/arm/switch8.S
vendor/compiler-rt/dist/lib/builtins/arm/switchu8.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_add_4.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_add_8.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_and_4.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_and_8.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_max_4.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_max_8.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_min_4.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_min_8.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_nand_4.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_nand_8.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_or_4.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_or_8.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_sub_4.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_sub_8.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_umax_4.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_umax_8.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_umin_4.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_umin_8.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_xor_4.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_fetch_and_xor_8.S
vendor/compiler-rt/dist/lib/builtins/arm/sync_synchronize.S
vendor/compiler-rt/dist/lib/builtins/arm/truncdfsf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/udivmodsi4.S
vendor/compiler-rt/dist/lib/builtins/arm/udivsi3.S
vendor/compiler-rt/dist/lib/builtins/arm/umodsi3.S
vendor/compiler-rt/dist/lib/builtins/arm/unorddf2vfp.S
vendor/compiler-rt/dist/lib/builtins/arm/unordsf2vfp.S
vendor/compiler-rt/dist/lib/builtins/assembly.h
vendor/compiler-rt/dist/lib/builtins/clear_cache.c
vendor/compiler-rt/dist/lib/builtins/emutls.c
vendor/compiler-rt/dist/lib/builtins/floatdidf.c
vendor/compiler-rt/dist/lib/builtins/floattidf.c
vendor/compiler-rt/dist/lib/builtins/floatundidf.c
vendor/compiler-rt/dist/lib/builtins/floatuntidf.c
vendor/compiler-rt/dist/lib/builtins/gcc_personality_v0.c
vendor/compiler-rt/dist/lib/builtins/i386/ashldi3.S
vendor/compiler-rt/dist/lib/builtins/i386/ashrdi3.S
vendor/compiler-rt/dist/lib/builtins/i386/divdi3.S
vendor/compiler-rt/dist/lib/builtins/i386/floatdidf.S
vendor/compiler-rt/dist/lib/builtins/i386/floatdisf.S
vendor/compiler-rt/dist/lib/builtins/i386/floatdixf.S
vendor/compiler-rt/dist/lib/builtins/i386/floatundidf.S
vendor/compiler-rt/dist/lib/builtins/i386/floatundisf.S
vendor/compiler-rt/dist/lib/builtins/i386/floatundixf.S
vendor/compiler-rt/dist/lib/builtins/i386/lshrdi3.S
vendor/compiler-rt/dist/lib/builtins/i386/moddi3.S
vendor/compiler-rt/dist/lib/builtins/i386/muldi3.S
vendor/compiler-rt/dist/lib/builtins/i386/udivdi3.S
vendor/compiler-rt/dist/lib/builtins/i386/umoddi3.S
vendor/compiler-rt/dist/lib/builtins/int_lib.h
vendor/compiler-rt/dist/lib/builtins/ppc/restFP.S
vendor/compiler-rt/dist/lib/builtins/ppc/saveFP.S
vendor/compiler-rt/dist/lib/builtins/x86_64/floatundidf.S
vendor/compiler-rt/dist/lib/builtins/x86_64/floatundisf.S
vendor/compiler-rt/dist/lib/builtins/x86_64/floatundixf.S
vendor/compiler-rt/dist/lib/cfi/CMakeLists.txt
vendor/compiler-rt/dist/lib/cfi/cfi.cc
vendor/compiler-rt/dist/lib/dfsan/CMakeLists.txt
vendor/compiler-rt/dist/lib/dfsan/dfsan.cc
vendor/compiler-rt/dist/lib/interception/CMakeLists.txt
vendor/compiler-rt/dist/lib/interception/interception_win.cc
vendor/compiler-rt/dist/lib/interception/interception_win.h
vendor/compiler-rt/dist/lib/lsan/CMakeLists.txt
vendor/compiler-rt/dist/lib/lsan/lsan.cc
vendor/compiler-rt/dist/lib/lsan/lsan.h
vendor/compiler-rt/dist/lib/lsan/lsan_allocator.cc
vendor/compiler-rt/dist/lib/lsan/lsan_common.cc
vendor/compiler-rt/dist/lib/lsan/lsan_common.h
vendor/compiler-rt/dist/lib/lsan/lsan_common_linux.cc
vendor/compiler-rt/dist/lib/lsan/lsan_flags.inc
vendor/compiler-rt/dist/lib/lsan/lsan_interceptors.cc
vendor/compiler-rt/dist/lib/lsan/lsan_thread.cc
vendor/compiler-rt/dist/lib/lsan/lsan_thread.h
vendor/compiler-rt/dist/lib/msan/CMakeLists.txt
vendor/compiler-rt/dist/lib/msan/msan.cc
vendor/compiler-rt/dist/lib/msan/msan.h
vendor/compiler-rt/dist/lib/msan/msan_interceptors.cc
vendor/compiler-rt/dist/lib/msan/msan_linux.cc
vendor/compiler-rt/dist/lib/msan/msan_report.cc
vendor/compiler-rt/dist/lib/msan/tests/CMakeLists.txt
vendor/compiler-rt/dist/lib/msan/tests/msan_test.cc
vendor/compiler-rt/dist/lib/profile/CMakeLists.txt
vendor/compiler-rt/dist/lib/profile/GCDAProfiling.c
vendor/compiler-rt/dist/lib/profile/InstrProfData.inc
vendor/compiler-rt/dist/lib/profile/InstrProfiling.c
vendor/compiler-rt/dist/lib/profile/InstrProfiling.h
vendor/compiler-rt/dist/lib/profile/InstrProfilingBuffer.c
vendor/compiler-rt/dist/lib/profile/InstrProfilingFile.c
vendor/compiler-rt/dist/lib/profile/InstrProfilingInternal.h
vendor/compiler-rt/dist/lib/profile/InstrProfilingPlatformDarwin.c
vendor/compiler-rt/dist/lib/profile/InstrProfilingPlatformLinux.c
vendor/compiler-rt/dist/lib/profile/InstrProfilingPlatformOther.c
vendor/compiler-rt/dist/lib/profile/InstrProfilingPort.h
vendor/compiler-rt/dist/lib/profile/InstrProfilingUtil.c
vendor/compiler-rt/dist/lib/profile/InstrProfilingUtil.h
vendor/compiler-rt/dist/lib/profile/InstrProfilingValue.c
vendor/compiler-rt/dist/lib/profile/InstrProfilingWriter.c
vendor/compiler-rt/dist/lib/profile/WindowsMMap.h
vendor/compiler-rt/dist/lib/safestack/CMakeLists.txt
vendor/compiler-rt/dist/lib/sanitizer_common/CMakeLists.txt
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_interface.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_internal.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_atomic_msvc.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors.inc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_nolibc.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_syscalls.inc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_mapping_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_deadlock_detector1.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_deadlock_detector_interface.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flags.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flags.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flags.inc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_interface_internal.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_internal_defs.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libc.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libc.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_list.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_interceptors.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_linux.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_posix.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_common.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_mac.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_quarantine.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_internal.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_mac.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_win.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_thread_registry.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_tls_get_addr.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win.cc
vendor/compiler-rt/dist/lib/sanitizer_common/scripts/sancov.py
vendor/compiler-rt/dist/lib/sanitizer_common/tests/CMakeLists.txt
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_allocator_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_allocator_testlib.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_flags_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_ioctl_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_linux_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_posix_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_printf_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_procmaps_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_pthread_wrappers.h
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_symbolizer_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_thread_registry_test.cc
vendor/compiler-rt/dist/lib/tsan/CMakeLists.txt
vendor/compiler-rt/dist/lib/tsan/check_analyze.sh
vendor/compiler-rt/dist/lib/tsan/dd/CMakeLists.txt
vendor/compiler-rt/dist/lib/tsan/dd/dd_interceptors.cc
vendor/compiler-rt/dist/lib/tsan/go/build.bat
vendor/compiler-rt/dist/lib/tsan/go/buildgo.sh
vendor/compiler-rt/dist/lib/tsan/go/test.c
vendor/compiler-rt/dist/lib/tsan/go/tsan_go.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_defs.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_flags.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_flags.inc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors_mac.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_atomic.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_java.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_libdispatch_mac.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_malloc_mac.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mman.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mman.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mutex.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mutex.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_new_delete.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_linux.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_mac.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_posix.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_report.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_report.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_mutex.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_report.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_thread.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_stat.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_stat.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_suppressions.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_sync.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_sync.h
vendor/compiler-rt/dist/lib/tsan/tests/CMakeLists.txt
vendor/compiler-rt/dist/lib/tsan/tests/rtl/tsan_test.cc
vendor/compiler-rt/dist/lib/tsan/tests/unit/tsan_sync_test.cc
vendor/compiler-rt/dist/lib/tsan/tests/unit/tsan_unit_test_main.cc
vendor/compiler-rt/dist/lib/ubsan/CMakeLists.txt
vendor/compiler-rt/dist/lib/ubsan/ubsan_diag.cc
vendor/compiler-rt/dist/lib/ubsan/ubsan_flags.cc
vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers.cc
vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers.h
vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers_cxx.cc
vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers_cxx.h
vendor/compiler-rt/dist/lib/ubsan/ubsan_platform.h
vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash.h
vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash_itanium.cc
vendor/compiler-rt/dist/lib/ubsan/ubsan_value.cc
vendor/compiler-rt/dist/make/platform/clang_darwin.mk
vendor/compiler-rt/dist/make/platform/clang_linux.mk
vendor/compiler-rt/dist/test/CMakeLists.txt
vendor/compiler-rt/dist/test/asan/CMakeLists.txt
vendor/compiler-rt/dist/test/asan/TestCases/Android/coverage-android.cc
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/abort_on_error.cc
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/address-range-limit.mm
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/atos-symbolizer-dyld-root-path.cc
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/atos-symbolizer.cc
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/dladdr-demangling.cc
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/objc-odr.mm
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/suppressions-darwin.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/abort_on_error.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/asan-asm-stacktrace-test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/asan_prelink_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/clang_gcc_abi.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/clone_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-missing.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/interface_symbols_linux.c
vendor/compiler-rt/dist/test/asan/TestCases/Linux/kernel-area.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/leak_check_segv.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/malloc-in-qsort.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/nohugepage_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/odr-violation.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/overflow-in-qsort.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/ptrace.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/static_tls.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/swapcontext_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/unpoison_tls.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/closed-fds.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/coverage-sandboxing.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/dlclose-test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/halt_on_error-torture.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/start-deactivated.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/bind_io_completion_callback.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/coverage-basic.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/dll_seh.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/intercept_strdup.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/oom.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/queue_user_work_item.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/queue_user_work_item_report.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/report_after_syminitialize.cc
vendor/compiler-rt/dist/test/asan/TestCases/asan_and_llvm_coverage_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/contiguous_container_crash.cc
vendor/compiler-rt/dist/test/asan/TestCases/coverage-levels.cc
vendor/compiler-rt/dist/test/asan/TestCases/coverage-pc-buffer.cc
vendor/compiler-rt/dist/test/asan/TestCases/coverage-reset.cc
vendor/compiler-rt/dist/test/asan/TestCases/debug_ppc64_mapping.cc
vendor/compiler-rt/dist/test/asan/TestCases/double-free.cc
vendor/compiler-rt/dist/test/asan/TestCases/initialization-bug.cc
vendor/compiler-rt/dist/test/asan/TestCases/large_func_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/printf-2.c
vendor/compiler-rt/dist/test/asan/TestCases/printf-4.c
vendor/compiler-rt/dist/test/asan/TestCases/stack-oob-frames.cc
vendor/compiler-rt/dist/test/asan/TestCases/strcasestr-2.c
vendor/compiler-rt/dist/test/asan/TestCases/strdup_oob_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/strstr-2.c
vendor/compiler-rt/dist/test/asan/TestCases/throw_call_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/throw_invoke_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/uar_and_exceptions.cc
vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-dtor-order.cc
vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-inlined.cc
vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-nobug.cc
vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-temp.cc
vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope.cc
vendor/compiler-rt/dist/test/asan/Unit/lit.site.cfg.in
vendor/compiler-rt/dist/test/asan/android_commands/android_common.py
vendor/compiler-rt/dist/test/asan/lit.cfg
vendor/compiler-rt/dist/test/asan/lit.site.cfg.in
vendor/compiler-rt/dist/test/cfi/CMakeLists.txt
vendor/compiler-rt/dist/test/cfi/create-derivers.test
vendor/compiler-rt/dist/test/cfi/cross-dso/icall/icall-from-dso.cpp
vendor/compiler-rt/dist/test/cfi/cross-dso/icall/icall.cpp
vendor/compiler-rt/dist/test/cfi/cross-dso/simple-fail.cpp
vendor/compiler-rt/dist/test/cfi/icall/bad-signature.c
vendor/compiler-rt/dist/test/cfi/icall/external-call.c
vendor/compiler-rt/dist/test/cfi/lit.cfg
vendor/compiler-rt/dist/test/cfi/lit.site.cfg.in
vendor/compiler-rt/dist/test/cfi/overwrite.cpp
vendor/compiler-rt/dist/test/dfsan/CMakeLists.txt
vendor/compiler-rt/dist/test/dfsan/custom.cc
vendor/compiler-rt/dist/test/dfsan/lit.cfg
vendor/compiler-rt/dist/test/dfsan/lit.site.cfg.in
vendor/compiler-rt/dist/test/lit.common.cfg
vendor/compiler-rt/dist/test/lit.common.configured.in
vendor/compiler-rt/dist/test/lsan/CMakeLists.txt
vendor/compiler-rt/dist/test/lsan/TestCases/disabler_in_tsd_destructor.c
vendor/compiler-rt/dist/test/lsan/TestCases/high_allocator_contention.cc
vendor/compiler-rt/dist/test/lsan/TestCases/leak_check_before_thread_started.cc
vendor/compiler-rt/dist/test/lsan/TestCases/use_registers.cc
vendor/compiler-rt/dist/test/lsan/TestCases/use_tls_dynamic.cc
vendor/compiler-rt/dist/test/lsan/lit.common.cfg
vendor/compiler-rt/dist/test/lsan/lit.site.cfg.in
vendor/compiler-rt/dist/test/msan/CMakeLists.txt
vendor/compiler-rt/dist/test/msan/Linux/process_vm_readv.cc
vendor/compiler-rt/dist/test/msan/Linux/syscalls.cc
vendor/compiler-rt/dist/test/msan/Unit/lit.site.cfg.in
vendor/compiler-rt/dist/test/msan/coverage-levels.cc
vendor/compiler-rt/dist/test/msan/dlerror.cc
vendor/compiler-rt/dist/test/msan/dtls_test.c
vendor/compiler-rt/dist/test/msan/fork.cc
vendor/compiler-rt/dist/test/msan/lit.cfg
vendor/compiler-rt/dist/test/msan/lit.site.cfg.in
vendor/compiler-rt/dist/test/msan/memcmp_test.cc
vendor/compiler-rt/dist/test/msan/msan_print_shadow3.cc
vendor/compiler-rt/dist/test/msan/param_tls_limit.cc
vendor/compiler-rt/dist/test/msan/vector_cvt.cc
vendor/compiler-rt/dist/test/profile/CMakeLists.txt
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-dynamic-a.cpp
vendor/compiler-rt/dist/test/profile/gcc-flag-compatibility.test
vendor/compiler-rt/dist/test/profile/instrprof-basic.c
vendor/compiler-rt/dist/test/profile/instrprof-bufferio.c
vendor/compiler-rt/dist/test/profile/instrprof-error.c
vendor/compiler-rt/dist/test/profile/instrprof-set-filename.c
vendor/compiler-rt/dist/test/profile/instrprof-value-prof-2.c
vendor/compiler-rt/dist/test/profile/instrprof-value-prof.c
vendor/compiler-rt/dist/test/profile/instrprof-version-mismatch.c
vendor/compiler-rt/dist/test/profile/instrprof-without-libc.c
vendor/compiler-rt/dist/test/profile/instrprof-write-file-only.c
vendor/compiler-rt/dist/test/profile/lit.cfg
vendor/compiler-rt/dist/test/profile/lit.site.cfg.in
vendor/compiler-rt/dist/test/safestack/CMakeLists.txt
vendor/compiler-rt/dist/test/safestack/lit.site.cfg.in
vendor/compiler-rt/dist/test/sanitizer_common/CMakeLists.txt
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Darwin/abort_on_error.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/abort_on_error.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/fpe.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/ill.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/open_memstream.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/ptrace.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/sem_init_glibc.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/lit.local.cfg
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/malloc_hook.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/options-include.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/print-stack-trace.cc
vendor/compiler-rt/dist/test/sanitizer_common/Unit/lit.site.cfg.in
vendor/compiler-rt/dist/test/sanitizer_common/lit.common.cfg
vendor/compiler-rt/dist/test/sanitizer_common/lit.site.cfg.in
vendor/compiler-rt/dist/test/tsan/CMakeLists.txt
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-async-norace.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-async-race.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-groups-norace.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-groups-stress.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-once.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-semaphore-norace.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-serial-queue-norace.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-sync-norace.mm
vendor/compiler-rt/dist/test/tsan/Darwin/gcd-sync-race.mm
vendor/compiler-rt/dist/test/tsan/Darwin/objc-race.mm
vendor/compiler-rt/dist/test/tsan/Darwin/objc-simple.mm
vendor/compiler-rt/dist/test/tsan/Linux/user_malloc.cc
vendor/compiler-rt/dist/test/tsan/Unit/lit.site.cfg.in
vendor/compiler-rt/dist/test/tsan/aligned_vs_unaligned_race.cc
vendor/compiler-rt/dist/test/tsan/benign_race.cc
vendor/compiler-rt/dist/test/tsan/blacklist.cc
vendor/compiler-rt/dist/test/tsan/blacklist2.cc
vendor/compiler-rt/dist/test/tsan/dl_iterate_phdr.cc
vendor/compiler-rt/dist/test/tsan/fd_close_norace.cc
vendor/compiler-rt/dist/test/tsan/fd_close_norace2.cc
vendor/compiler-rt/dist/test/tsan/fd_dup_norace.cc
vendor/compiler-rt/dist/test/tsan/fd_dup_norace2.cc
vendor/compiler-rt/dist/test/tsan/fd_dup_race.cc
vendor/compiler-rt/dist/test/tsan/fd_pipe_norace.cc
vendor/compiler-rt/dist/test/tsan/fd_socket_connect_norace.cc
vendor/compiler-rt/dist/test/tsan/fd_socket_norace.cc
vendor/compiler-rt/dist/test/tsan/fd_socketpair_norace.cc
vendor/compiler-rt/dist/test/tsan/fork_atexit.cc
vendor/compiler-rt/dist/test/tsan/fork_deadlock.cc
vendor/compiler-rt/dist/test/tsan/fork_multithreaded.cc
vendor/compiler-rt/dist/test/tsan/fork_multithreaded3.cc
vendor/compiler-rt/dist/test/tsan/ignore_race.cc
vendor/compiler-rt/dist/test/tsan/inlined_memcpy_race.cc
vendor/compiler-rt/dist/test/tsan/inlined_memcpy_race2.cc
vendor/compiler-rt/dist/test/tsan/interface_atomic_test.c
vendor/compiler-rt/dist/test/tsan/java_alloc.cc
vendor/compiler-rt/dist/test/tsan/java_heap_init.cc
vendor/compiler-rt/dist/test/tsan/java_lock_move.cc
vendor/compiler-rt/dist/test/tsan/java_lock_rec.cc
vendor/compiler-rt/dist/test/tsan/java_lock_rec_race.cc
vendor/compiler-rt/dist/test/tsan/java_move_overlap.cc
vendor/compiler-rt/dist/test/tsan/java_move_overlap_race.cc
vendor/compiler-rt/dist/test/tsan/java_race_pc.cc
vendor/compiler-rt/dist/test/tsan/java_rwlock.cc
vendor/compiler-rt/dist/test/tsan/lit.cfg
vendor/compiler-rt/dist/test/tsan/lit.site.cfg.in
vendor/compiler-rt/dist/test/tsan/longjmp.cc
vendor/compiler-rt/dist/test/tsan/longjmp2.cc
vendor/compiler-rt/dist/test/tsan/longjmp3.cc
vendor/compiler-rt/dist/test/tsan/longjmp4.cc
vendor/compiler-rt/dist/test/tsan/malloc_overflow.cc
vendor/compiler-rt/dist/test/tsan/mmap_stress.cc
vendor/compiler-rt/dist/test/tsan/race_on_mutex.c
vendor/compiler-rt/dist/test/tsan/race_on_speculative_load.cc
vendor/compiler-rt/dist/test/tsan/setuid.c
vendor/compiler-rt/dist/test/tsan/setuid2.c
vendor/compiler-rt/dist/test/tsan/static_init1.cc
vendor/compiler-rt/dist/test/tsan/static_init2.cc
vendor/compiler-rt/dist/test/tsan/static_init4.cc
vendor/compiler-rt/dist/test/tsan/static_init5.cc
vendor/compiler-rt/dist/test/tsan/static_init6.cc
vendor/compiler-rt/dist/test/tsan/sunrpc.cc
vendor/compiler-rt/dist/test/tsan/suppressions_global.cc
vendor/compiler-rt/dist/test/tsan/suppressions_race.cc
vendor/compiler-rt/dist/test/tsan/suppressions_race2.cc
vendor/compiler-rt/dist/test/tsan/test.h
vendor/compiler-rt/dist/test/tsan/thread_detach.c
vendor/compiler-rt/dist/test/tsan/thread_detach2.c
vendor/compiler-rt/dist/test/tsan/thread_leak.c
vendor/compiler-rt/dist/test/tsan/thread_leak2.c
vendor/compiler-rt/dist/test/tsan/thread_leak4.c
vendor/compiler-rt/dist/test/tsan/tsan-vs-gvn.cc
vendor/compiler-rt/dist/test/tsan/unaligned_norace.cc
vendor/compiler-rt/dist/test/tsan/vfork.cc
vendor/compiler-rt/dist/test/tsan/virtual_inheritance_compile_bug.cc
vendor/compiler-rt/dist/test/ubsan/CMakeLists.txt
vendor/compiler-rt/dist/test/ubsan/TestCases/Float/cast-overflow.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/suppressions.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/coverage-levels.cc
vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/misaligned.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/null.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr.cpp
vendor/compiler-rt/dist/test/ubsan/lit.common.cfg
vendor/compiler-rt/dist/test/ubsan/lit.site.cfg.in
vendor/compiler-rt/dist/unittests/CMakeLists.txt
vendor/compiler-rt/dist/unittests/lit.common.unit.configured.in
Modified: vendor/compiler-rt/dist/.arcconfig
==============================================================================
--- vendor/compiler-rt/dist/.arcconfig Sat Jul 23 20:44:49 2016 (r303234)
+++ vendor/compiler-rt/dist/.arcconfig Sat Jul 23 20:45:36 2016 (r303235)
@@ -1,4 +1,4 @@
{
"project_id" : "compiler-rt",
- "conduit_uri" : "http://reviews.llvm.org/"
+ "conduit_uri" : "https://reviews.llvm.org/"
}
Modified: vendor/compiler-rt/dist/CMakeLists.txt
==============================================================================
--- vendor/compiler-rt/dist/CMakeLists.txt Sat Jul 23 20:44:49 2016 (r303234)
+++ vendor/compiler-rt/dist/CMakeLists.txt Sat Jul 23 20:45:36 2016 (r303235)
@@ -11,80 +11,34 @@
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
project(CompilerRT C CXX ASM)
set(COMPILER_RT_STANDALONE_BUILD TRUE)
-else()
- set(COMPILER_RT_STANDALONE_BUILD FALSE)
endif()
-# The CompilerRT build system requires CMake version 2.8.8 or higher in order
-# to use its support for building convenience "libraries" as a collection of
-# .o files. This is particularly useful in producing larger, more complex
-# runtime libraries.
-if (NOT MSVC)
- cmake_minimum_required(VERSION 2.8.8)
-else()
- # Version 2.8.12.1 is required to build with Visual Studio 2013.
- cmake_minimum_required(VERSION 2.8.12.1)
-endif()
+cmake_minimum_required(VERSION 3.4.3)
+# FIXME:
+# The OLD behavior (pre 3.2) for this policy is to not set the value of the
+# CMAKE_EXE_LINKER_FLAGS variable in the generated test project. The NEW behavior
+# for this policy is to set the value of the CMAKE_EXE_LINKER_FLAGS variable
+# in the test project to the same as it is in the calling project. The new
+# behavior cause the compiler_rt test to fail during try_compile: see
+# projects/compiler-rt/cmake/Modules/CompilerRTUtils.cmake:121 such that
+# CAN_TARGET_${arch} is not set properly. This results in COMPILER_RT_SUPPORTED_ARCH
+# not being updated properly leading to poblems.
+cmake_policy(SET CMP0056 OLD)
-# FIXME: It may be removed when we use 2.8.12.
-if(CMAKE_VERSION VERSION_LESS 2.8.12)
- # Invalidate a couple of keywords.
- set(cmake_2_8_12_INTERFACE)
- set(cmake_2_8_12_PRIVATE)
-else()
- # Use ${cmake_2_8_12_KEYWORD} intead of KEYWORD in target_link_libraries().
- set(cmake_2_8_12_INTERFACE INTERFACE)
- set(cmake_2_8_12_PRIVATE PRIVATE)
- if(POLICY CMP0022)
- cmake_policy(SET CMP0022 NEW) # automatic when 2.8.12 is required
- endif()
-endif()
+# Add path for custom compiler-rt modules.
+list(INSERT CMAKE_MODULE_PATH 0
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake"
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules"
+ )
-# Top level target used to build all compiler-rt libraries.
-add_custom_target(compiler-rt ALL)
+include(base-config-ix)
option(COMPILER_RT_BUILD_BUILTINS "Build builtins" ON)
mark_as_advanced(COMPILER_RT_BUILD_BUILTINS)
option(COMPILER_RT_BUILD_SANITIZERS "Build sanitizers" ON)
mark_as_advanced(COMPILER_RT_BUILD_SANITIZERS)
-if (NOT COMPILER_RT_STANDALONE_BUILD)
- # Compute the Clang version from the LLVM version.
- # FIXME: We should be able to reuse CLANG_VERSION variable calculated
- # in Clang cmake files, instead of copying the rules here.
- string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
- ${PACKAGE_VERSION})
- # Setup the paths where compiler-rt runtimes and headers should be stored.
- set(COMPILER_RT_OUTPUT_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION})
- set(COMPILER_RT_EXEC_OUTPUT_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
- set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION})
- option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests."
- ${LLVM_INCLUDE_TESTS})
- option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered"
- ${LLVM_ENABLE_WERROR})
- # Use just-built Clang to compile/link tests on all platforms, except for
- # Windows where we need to use clang-cl instead.
- if(NOT MSVC)
- set(COMPILER_RT_TEST_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang)
- set(COMPILER_RT_TEST_CXX_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++)
- else()
- set(COMPILER_RT_TEST_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang.exe)
- set(COMPILER_RT_TEST_CXX_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++.exe)
- endif()
-else()
- # Take output dir and install path from the user.
- set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
- "Path where built compiler-rt libraries should be stored.")
- set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
- "Path where built compiler-rt executables should be stored.")
- set(COMPILER_RT_INSTALL_PATH ${CMAKE_INSTALL_PREFIX} CACHE PATH
- "Path where built compiler-rt libraries should be installed.")
- option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
- option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
- # Use a host compiler to compile/link tests.
- set(COMPILER_RT_TEST_COMPILER ${CMAKE_C_COMPILER} CACHE PATH "Compiler to use for testing")
- set(COMPILER_RT_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE PATH "C++ Compiler to use for testing")
-
+if (COMPILER_RT_STANDALONE_BUILD)
if (NOT LLVM_CONFIG_PATH)
find_program(LLVM_CONFIG_PATH "llvm-config"
DOC "Path to llvm-config binary")
@@ -107,7 +61,7 @@ else()
# Make use of LLVM CMake modules.
file(TO_CMAKE_PATH ${LLVM_BINARY_DIR} LLVM_BINARY_DIR_CMAKE_STYLE)
- set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR_CMAKE_STYLE}/share/llvm/cmake")
+ set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR_CMAKE_STYLE}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")
list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")
# Get some LLVM variables from LLVMConfig.
include("${LLVM_CMAKE_PATH}/LLVMConfig.cmake")
@@ -132,14 +86,6 @@ else()
set(LLVM_LIT_ARGS "${LIT_ARGS_DEFAULT}" CACHE STRING "Default options for lit")
endif()
-if("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang[+]*$")
- set(COMPILER_RT_TEST_COMPILER_ID Clang)
-elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang.*.exe$")
- set(COMPILER_RT_TEST_COMPILER_ID Clang)
-else()
- set(COMPILER_RT_TEST_COMPILER_ID GNU)
-endif()
-
set(COMPILER_RT_DEFAULT_TARGET_TRIPLE ${TARGET_TRIPLE} CACHE STRING
"Default triple for which compiler-rt runtimes will be built.")
if(DEFINED COMPILER_RT_TEST_TARGET_TRIPLE)
@@ -159,23 +105,9 @@ if(NOT COMPILER_RT_DEFAULT_TARGET_TRIPLE
else()
set(COMPILER_RT_HAS_EXPLICIT_DEFAULT_TARGET_TRIPLE FALSE)
endif()
-
if ("${COMPILER_RT_DEFAULT_TARGET_ABI}" STREQUAL "androideabi")
set(ANDROID 1)
endif()
-
-string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR)
-set(COMPILER_RT_LIBRARY_OUTPUT_DIR
- ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
-set(COMPILER_RT_LIBRARY_INSTALL_DIR
- ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR})
-
-# Add path for custom compiler-rt modules.
-set(CMAKE_MODULE_PATH
- "${CMAKE_CURRENT_SOURCE_DIR}/cmake"
- "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules"
- ${CMAKE_MODULE_PATH}
- )
include(CompilerRTUtils)
set(COMPILER_RT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
@@ -200,13 +132,18 @@ pythonize_bool(COMPILER_RT_DEBUG)
#================================
# Setup Compiler Flags
#================================
-include(CheckIncludeFile)
-check_include_file(unwind.h HAVE_UNWIND_H)
include(config-ix)
if(MSVC)
- append_string_if(COMPILER_RT_HAS_W3_FLAG /W3 CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+ # Override any existing /W flags with /W4. This is what LLVM does. Failing to
+ # remove other /W[0-4] flags will result in a warning about overriding a
+ # previous flag.
+ if (COMPILER_RT_HAS_W4_FLAG)
+ string(REGEX REPLACE " /W[0-4]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+ string(REGEX REPLACE " /W[0-4]" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ append_string_if(COMPILER_RT_HAS_W4_FLAG /W4 CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+ endif()
else()
append_string_if(COMPILER_RT_HAS_WALL_FLAG -Wall CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
endif()
@@ -226,7 +163,9 @@ endif()
append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC SANITIZER_COMMON_CFLAGS)
append_list_if(COMPILER_RT_HAS_FNO_BUILTIN_FLAG -fno-builtin SANITIZER_COMMON_CFLAGS)
append_list_if(COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG -fno-exceptions SANITIZER_COMMON_CFLAGS)
-append_list_if(COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG -fomit-frame-pointer SANITIZER_COMMON_CFLAGS)
+if(NOT COMPILER_RT_DEBUG)
+ append_list_if(COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG -fomit-frame-pointer SANITIZER_COMMON_CFLAGS)
+endif()
append_list_if(COMPILER_RT_HAS_FUNWIND_TABLES_FLAG -funwind-tables SANITIZER_COMMON_CFLAGS)
append_list_if(COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG -fno-stack-protector SANITIZER_COMMON_CFLAGS)
append_list_if(COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG -fno-sanitize=safe-stack SANITIZER_COMMON_CFLAGS)
@@ -241,6 +180,8 @@ if(MSVC)
# FIXME: In fact, sanitizers should support both /MT and /MD, see PR20214.
if(COMPILER_RT_HAS_MT_FLAG)
foreach(flag_var
+ CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
+ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
string(REGEX REPLACE "/M[DT]d" "/MT" ${flag_var} "${${flag_var}}")
@@ -250,6 +191,12 @@ if(MSVC)
endif()
append_list_if(COMPILER_RT_HAS_Oy_FLAG /Oy- SANITIZER_COMMON_CFLAGS)
append_list_if(COMPILER_RT_HAS_GS_FLAG /GS- SANITIZER_COMMON_CFLAGS)
+ # VS 2015 (version 1900) added support for thread safe static initialization.
+ # However, ASan interceptors run before CRT initialization, which causes the
+ # new thread safe code to crash. Disable this feature for now.
+ if (MSVC_VERSION GREATER 1899)
+ list(APPEND SANITIZER_COMMON_CFLAGS /Zc:threadSafeInit-)
+ endif()
endif()
append_list_if(COMPILER_RT_DEBUG -DSANITIZER_DEBUG=1 SANITIZER_COMMON_CFLAGS)
@@ -292,10 +239,15 @@ append_list_if(COMPILER_RT_HAS_WD4391_FL
append_list_if(COMPILER_RT_HAS_WD4722_FLAG /wd4722 SANITIZER_COMMON_CFLAGS)
append_list_if(COMPILER_RT_HAS_WD4800_FLAG /wd4800 SANITIZER_COMMON_CFLAGS)
+# Warnings to turn off for all libraries, not just sanitizers.
+append_string_if(COMPILER_RT_HAS_WUNUSED_PARAMETER_FLAG -Wno-unused-parameter CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+
if(APPLE AND SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.9")
# Mac OS X prior to 10.9 had problems with exporting symbols from
# libc++/libc++abi.
set(SANITIZER_CAN_USE_CXXABI FALSE)
+elseif(MSVC)
+ set(SANITIZER_CAN_USE_CXXABI FALSE)
else()
set(SANITIZER_CAN_USE_CXXABI TRUE)
endif()
Modified: vendor/compiler-rt/dist/CODE_OWNERS.TXT
==============================================================================
--- vendor/compiler-rt/dist/CODE_OWNERS.TXT Sat Jul 23 20:44:49 2016 (r303234)
+++ vendor/compiler-rt/dist/CODE_OWNERS.TXT Sat Jul 23 20:45:36 2016 (r303235)
@@ -24,10 +24,6 @@ N: Howard Hinnant
E: howard.hinnant at gmail.com
D: builtins library
-N: Sergey Matveev
-E: earthdok at google.com
-D: LeakSanitizer
-
N: Alexander Potapenko
E: glider at google.com
D: MacOS/iOS port of sanitizers
@@ -38,7 +34,7 @@ D: CMake build, test suite
N: Kostya Serebryany
E: kcc at google.com
-D: AddressSanitizer, sanitizer_common, porting sanitizers to another platforms
+D: AddressSanitizer, sanitizer_common, porting sanitizers to another platforms, LeakSanitizer
N: Richard Smith
E: richard-llvm at metafoo.co.uk
Modified: vendor/compiler-rt/dist/LICENSE.TXT
==============================================================================
--- vendor/compiler-rt/dist/LICENSE.TXT Sat Jul 23 20:44:49 2016 (r303234)
+++ vendor/compiler-rt/dist/LICENSE.TXT Sat Jul 23 20:45:36 2016 (r303235)
@@ -14,7 +14,7 @@ Full text of the relevant licenses is in
University of Illinois/NCSA
Open Source License
-Copyright (c) 2009-2015 by the contributors listed in CREDITS.TXT
+Copyright (c) 2009-2016 by the contributors listed in CREDITS.TXT
All rights reserved.
Modified: vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake Sat Jul 23 20:44:49 2016 (r303234)
+++ vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake Sat Jul 23 20:45:36 2016 (r303235)
@@ -1,7 +1,28 @@
-include(AddLLVM)
include(ExternalProject)
include(CompilerRTUtils)
+function(set_target_output_directories target output_dir)
+ # For RUNTIME_OUTPUT_DIRECTORY variable, Multi-configuration generators
+ # append a per-configuration subdirectory to the specified directory.
+ # To avoid the appended folder, the configuration specific variable must be
+ # set 'RUNTIME_OUTPUT_DIRECTORY_${CONF}':
+ # RUNTIME_OUTPUT_DIRECTORY_DEBUG, RUNTIME_OUTPUT_DIRECTORY_RELEASE, ...
+ if(CMAKE_CONFIGURATION_TYPES)
+ foreach(build_mode ${CMAKE_CONFIGURATION_TYPES})
+ string(TOUPPER "${build_mode}" CONFIG_SUFFIX)
+ set_target_properties("${target}" PROPERTIES
+ "ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${output_dir}
+ "LIBRARY_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${output_dir}
+ "RUNTIME_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${output_dir})
+ endforeach()
+ else()
+ set_target_properties("${target}" PROPERTIES
+ ARCHIVE_OUTPUT_DIRECTORY ${output_dir}
+ LIBRARY_OUTPUT_DIRECTORY ${output_dir}
+ RUNTIME_OUTPUT_DIRECTORY ${output_dir})
+ endif()
+endfunction()
+
# Tries to add an "object library" target for a given list of OSs and/or
# architectures with name "<name>.<arch>" for non-Darwin platforms if
# architecture can be targeted, and "<name>.<os>" for Darwin platforms.
@@ -32,13 +53,14 @@ function(add_compiler_rt_object_librarie
endif()
endforeach()
endif()
-
+
foreach(libname ${libnames})
add_library(${libname} OBJECT ${LIB_SOURCES})
set_target_compile_flags(${libname}
${CMAKE_CXX_FLAGS} ${extra_cflags_${libname}} ${LIB_CFLAGS})
set_property(TARGET ${libname} APPEND PROPERTY
COMPILE_DEFINITIONS ${LIB_DEFS})
+ set_target_properties(${libname} PROPERTIES FOLDER "Compiler-RT Libraries")
if(APPLE)
set_target_properties(${libname} PROPERTIES
OSX_ARCHITECTURES "${LIB_ARCHS_${libname}}")
@@ -107,7 +129,8 @@ function(add_compiler_rt_runtime name ty
set(output_name_${libname} ${libname}${COMPILER_RT_OS_SUFFIX})
else()
set(libname "${name}-dynamic-${arch}")
- set(extra_linkflags_${libname} ${TARGET_${arch}_CFLAGS} ${LIB_CFLAGS} ${LIB_LINKFLAGS})
+ set(extra_cflags_${libname} ${TARGET_${arch}_CFLAGS} ${LIB_CFLAGS})
+ set(extra_linkflags_${libname} ${TARGET_${arch}_LINKFLAGS} ${LIB_LINKFLAGS})
if(WIN32)
set(output_name_${libname} ${name}_dynamic-${arch}${COMPILER_RT_OS_SUFFIX})
else()
@@ -126,21 +149,42 @@ function(add_compiler_rt_runtime name ty
endif()
if(LIB_PARENT_TARGET)
- set(COMPONENT_OPTION COMPONENT ${LIB_PARENT_TARGET})
+ # If the parent targets aren't created we should create them
+ if(NOT TARGET ${LIB_PARENT_TARGET})
+ add_custom_target(${LIB_PARENT_TARGET})
+ endif()
+ if(NOT TARGET install-${LIB_PARENT_TARGET})
+ # The parent install target specifies the parent component to scrape up
+ # anything not installed by the individual install targets, and to handle
+ # installation when running the multi-configuration generators.
+ add_custom_target(install-${LIB_PARENT_TARGET}
+ DEPENDS ${LIB_PARENT_TARGET}
+ COMMAND "${CMAKE_COMMAND}"
+ -DCMAKE_INSTALL_COMPONENT=${LIB_PARENT_TARGET}
+ -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
+ set_target_properties(install-${LIB_PARENT_TARGET} PROPERTIES
+ FOLDER "Compiler-RT Misc")
+ endif()
endif()
foreach(libname ${libnames})
+ # If you are using a multi-configuration generator we don't generate
+ # per-library install rules, so we fall back to the parent target COMPONENT
+ if(CMAKE_CONFIGURATION_TYPES AND LIB_PARENT_TARGET)
+ set(COMPONENT_OPTION COMPONENT ${LIB_PARENT_TARGET})
+ else()
+ set(COMPONENT_OPTION COMPONENT ${libname})
+ endif()
+
add_library(${libname} ${type} ${sources_${libname}})
set_target_compile_flags(${libname} ${extra_cflags_${libname}})
set_target_link_flags(${libname} ${extra_linkflags_${libname}})
- set_property(TARGET ${libname} APPEND PROPERTY
+ set_property(TARGET ${libname} APPEND PROPERTY
COMPILE_DEFINITIONS ${LIB_DEFS})
- set_target_properties(${libname} PROPERTIES
- ARCHIVE_OUTPUT_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
- LIBRARY_OUTPUT_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
- RUNTIME_OUTPUT_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR})
+ set_target_output_directories(${libname} ${COMPILER_RT_LIBRARY_OUTPUT_DIR})
set_target_properties(${libname} PROPERTIES
OUTPUT_NAME ${output_name_${libname}})
+ set_target_properties(${libname} PROPERTIES FOLDER "Compiler-RT Runtime")
if(LIB_LINK_LIBS AND ${type} STREQUAL "SHARED")
target_link_libraries(${libname} ${LIB_LINK_LIBS})
endif()
@@ -151,6 +195,21 @@ function(add_compiler_rt_runtime name ty
${COMPONENT_OPTION}
RUNTIME DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
${COMPONENT_OPTION})
+
+ # We only want to generate per-library install targets if you aren't using
+ # an IDE because the extra targets get cluttered in IDEs.
+ if(NOT CMAKE_CONFIGURATION_TYPES)
+ add_custom_target(install-${libname}
+ DEPENDS ${libname}
+ COMMAND "${CMAKE_COMMAND}"
+ -DCMAKE_INSTALL_COMPONENT=${libname}
+ -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
+ # If you have a parent target specified, we bind the new install target
+ # to the parent install target.
+ if(LIB_PARENT_TARGET)
+ add_dependencies(install-${LIB_PARENT_TARGET} install-${libname})
+ endif()
+ endif()
if(APPLE)
set_target_properties(${libname} PROPERTIES
OSX_ARCHITECTURES "${LIB_ARCHS_${libname}}")
@@ -165,7 +224,10 @@ function(add_compiler_rt_runtime name ty
endif()
endfunction()
-set(COMPILER_RT_TEST_CFLAGS)
+# when cross compiling, COMPILER_RT_TEST_COMPILER_CFLAGS help
+# in compilation and linking of unittests.
+string(REPLACE " " ";" COMPILER_RT_UNITTEST_CFLAGS "${COMPILER_RT_TEST_COMPILER_CFLAGS}")
+set(COMPILER_RT_UNITTEST_LINKFLAGS ${COMPILER_RT_UNITTEST_CFLAGS})
# Unittests support.
set(COMPILER_RT_GTEST_PATH ${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest)
@@ -177,14 +239,14 @@ set(COMPILER_RT_GTEST_CFLAGS
-I${COMPILER_RT_GTEST_PATH}
)
-append_list_if(COMPILER_RT_DEBUG -DSANITIZER_DEBUG=1 COMPILER_RT_TEST_CFLAGS)
+append_list_if(COMPILER_RT_DEBUG -DSANITIZER_DEBUG=1 COMPILER_RT_UNITTEST_CFLAGS)
if(MSVC)
# clang doesn't support exceptions on Windows yet.
- list(APPEND COMPILER_RT_TEST_CFLAGS -D_HAS_EXCEPTIONS=0)
+ list(APPEND COMPILER_RT_UNITTEST_CFLAGS -D_HAS_EXCEPTIONS=0)
# We should teach clang to understand "#pragma intrinsic", see PR19898.
- list(APPEND COMPILER_RT_TEST_CFLAGS -Wno-undefined-inline)
+ list(APPEND COMPILER_RT_UNITTEST_CFLAGS -Wno-undefined-inline)
# Clang doesn't support SEH on Windows yet.
list(APPEND COMPILER_RT_GTEST_CFLAGS -DGTEST_HAS_SEH=0)
@@ -209,14 +271,18 @@ endif()
# LINK_FLAGS <link flags>)
macro(add_compiler_rt_test test_suite test_name)
cmake_parse_arguments(TEST "" "SUBDIR" "OBJECTS;DEPS;LINK_FLAGS" "" ${ARGN})
+ set(output_bin ${CMAKE_CURRENT_BINARY_DIR})
if(TEST_SUBDIR)
- set(output_bin "${CMAKE_CURRENT_BINARY_DIR}/${TEST_SUBDIR}/${test_name}")
- else()
- set(output_bin "${CMAKE_CURRENT_BINARY_DIR}/${test_name}")
+ set(output_bin "${output_bin}/${TEST_SUBDIR}")
+ endif()
+ if(CMAKE_CONFIGURATION_TYPES)
+ set(output_bin "${output_bin}/${CMAKE_CFG_INTDIR}")
endif()
+ set(output_bin "${output_bin}/${test_name}")
if(MSVC)
set(output_bin "${output_bin}.exe")
endif()
+
# Use host compiler in a standalone build, and just-built Clang otherwise.
if(NOT COMPILER_RT_STANDALONE_BUILD)
list(APPEND TEST_DEPS clang)
@@ -236,11 +302,13 @@ macro(add_compiler_rt_test test_suite te
-o "${output_bin}"
${TEST_LINK_FLAGS}
DEPENDS ${TEST_DEPS})
+ set_target_properties(${test_name} PROPERTIES FOLDER "Compiler-RT Tests")
+
# Make the test suite depend on the binary.
add_dependencies(${test_suite} ${test_name})
endmacro()
-macro(add_compiler_rt_resource_file target_name file_name)
+macro(add_compiler_rt_resource_file target_name file_name component)
set(src_file "${CMAKE_CURRENT_SOURCE_DIR}/${file_name}")
set(dst_file "${COMPILER_RT_OUTPUT_DIR}/${file_name}")
add_custom_command(OUTPUT ${dst_file}
@@ -249,7 +317,12 @@ macro(add_compiler_rt_resource_file targ
COMMENT "Copying ${file_name}...")
add_custom_target(${target_name} DEPENDS ${dst_file})
# Install in Clang resource directory.
- install(FILES ${file_name} DESTINATION ${COMPILER_RT_INSTALL_PATH})
+ install(FILES ${file_name}
+ DESTINATION ${COMPILER_RT_INSTALL_PATH}
+ COMPONENT ${component})
+ add_dependencies(${component} ${target_name})
+
+ set_target_properties(${target_name} PROPERTIES FOLDER "Compiler-RT Misc")
endmacro()
macro(add_compiler_rt_script name)
@@ -321,6 +394,10 @@ function(rt_externalize_debuginfo name)
return()
endif()
+ if(NOT COMPILER_RT_EXTERNALIZE_DEBUGINFO_SKIP_STRIP)
+ set(strip_command COMMAND xcrun strip -Sl $<TARGET_FILE:${name}>)
+ endif()
+
if(APPLE)
if(CMAKE_CXX_FLAGS MATCHES "-flto"
OR CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE} MATCHES "-flto")
@@ -331,7 +408,7 @@ function(rt_externalize_debuginfo name)
endif()
add_custom_command(TARGET ${name} POST_BUILD
COMMAND xcrun dsymutil $<TARGET_FILE:${name}>
- COMMAND xcrun strip -Sl $<TARGET_FILE:${name}>)
+ ${strip_command})
else()
message(FATAL_ERROR "COMPILER_RT_EXTERNALIZE_DEBUGINFO isn't implemented for non-darwin platforms!")
endif()
Added: vendor/compiler-rt/dist/cmake/Modules/BuiltinTests.cmake
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/compiler-rt/dist/cmake/Modules/BuiltinTests.cmake Sat Jul 23 20:45:36 2016 (r303235)
@@ -0,0 +1,62 @@
+
+# This function takes an OS and a list of architectures and identifies the
+# subset of the architectures list that the installed toolchain can target.
+function(try_compile_only output)
+ set(SIMPLE_C ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/src.c)
+ file(WRITE ${SIMPLE_C} "int foo(int x, int y) { return x + y; }\n")
+ string(REGEX MATCHALL "<[A-Za-z0-9_]*>" substitutions
+ ${CMAKE_C_COMPILE_OBJECT})
+ string(REPLACE ";" " " extra_flags "${ARGN}")
+
+ set(test_compile_command "${CMAKE_C_COMPILE_OBJECT}")
+ foreach(substitution ${substitutions})
+ if(substitution STREQUAL "<CMAKE_C_COMPILER>")
+ string(REPLACE "<CMAKE_C_COMPILER>"
+ "${CMAKE_C_COMPILER}" test_compile_command ${test_compile_command})
+ elseif(substitution STREQUAL "<OBJECT>")
+ string(REPLACE "<OBJECT>"
+ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/test.o"
+ test_compile_command ${test_compile_command})
+ elseif(substitution STREQUAL "<SOURCE>")
+ string(REPLACE "<SOURCE>" "${SIMPLE_C}" test_compile_command
+ ${test_compile_command})
+ elseif(substitution STREQUAL "<FLAGS>")
+ string(REPLACE "<FLAGS>" "${CMAKE_C_FLAGS} ${extra_flags}"
+ test_compile_command ${test_compile_command})
+ else()
+ string(REPLACE "${substitution}" "" test_compile_command
+ ${test_compile_command})
+ endif()
+ endforeach()
+
+ string(REPLACE " " ";" test_compile_command "${test_compile_command}")
+
+ execute_process(
+ COMMAND ${test_compile_command}
+ RESULT_VARIABLE result
+ OUTPUT_VARIABLE TEST_OUTPUT
+ ERROR_VARIABLE TEST_ERROR
+ )
+ if(result EQUAL 0)
+ set(${output} True PARENT_SCOPE)
+ else()
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Testing compiler for supporting " ${ARGN} ":\n"
+ "Command: ${test_compile_command}\n"
+ "${TEST_OUTPUT}\n${TEST_ERROR}\n${result}\n")
+ set(${output} False PARENT_SCOPE)
+ endif()
+endfunction()
+
+function(builtin_check_c_compiler_flag flag output)
+ if(NOT DEFINED ${output})
+ message(STATUS "Performing Test ${output}")
+ try_compile_only(result ${flag})
+ set(${output} ${result} CACHE INTERNAL "Compiler supports ${flag}")
+ if(${result})
+ message(STATUS "Performing Test ${output} - Success")
+ else()
+ message(STATUS "Performing Test ${output} - Failed")
+ endif()
+ endif()
+endfunction()
Modified: vendor/compiler-rt/dist/cmake/Modules/CompilerRTCompile.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/CompilerRTCompile.cmake Sat Jul 23 20:44:49 2016 (r303234)
+++ vendor/compiler-rt/dist/cmake/Modules/CompilerRTCompile.cmake Sat Jul 23 20:45:36 2016 (r303235)
@@ -90,8 +90,8 @@ macro(clang_compiler_add_cxx_check)
" fi"
" echo 'This can also be fixed by checking out the libcxx project from llvm.org and installing the headers'"
" echo 'into your build directory:'"
- " echo ' cd ${LLVM_SOURCE_DIR}/projects && svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx'"
- " echo ' cd ${LLVM_BINARY_DIR} && make -C ${LLVM_SOURCE_DIR}/projects/libcxx installheaders HEADER_DIR=${LLVM_BINARY_DIR}/include'"
+ " echo ' cd ${LLVM_MAIN_SRC_DIR}/projects && svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx'"
+ " echo ' cd ${LLVM_BINARY_DIR} && make -C ${LLVM_MAIN_SRC_DIR}/projects/libcxx installheaders HEADER_DIR=${LLVM_BINARY_DIR}/include'"
" echo"
" false"
"fi"
Modified: vendor/compiler-rt/dist/cmake/Modules/CompilerRTDarwinUtils.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/CompilerRTDarwinUtils.cmake Sat Jul 23 20:44:49 2016 (r303234)
+++ vendor/compiler-rt/dist/cmake/Modules/CompilerRTDarwinUtils.cmake Sat Jul 23 20:45:36 2016 (r303235)
@@ -1,3 +1,5 @@
+include(CMakeParseArguments)
+
# On OS X SDKs can be installed anywhere on the base system and xcode-select can
# set the default Xcode to use. This function finds the SDKs that are present in
# the current Xcode.
@@ -16,6 +18,8 @@ function(find_darwin_sdk_dir var sdk_nam
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_FILE /dev/null
)
+ else()
+ set(${var}_INTERNAL ${var_internal} PARENT_SCOPE)
endif()
set(${var} ${var_internal} PARENT_SCOPE)
endfunction()
@@ -52,30 +56,36 @@ function(darwin_test_archs os valid_arch
endif()
set(archs ${ARGN})
- message(STATUS "Finding valid architectures for ${os}...")
- set(SIMPLE_CPP ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/src.cpp)
- file(WRITE ${SIMPLE_CPP} "#include <iostream>\nint main() { std::cout << std::endl; return 0; }\n")
-
- set(os_linker_flags)
- foreach(flag ${DARWIN_${os}_LINKFLAGS})
- set(os_linker_flags "${os_linker_flags} ${flag}")
- endforeach()
+ if(NOT TEST_COMPILE_ONLY)
+ message(STATUS "Finding valid architectures for ${os}...")
+ set(SIMPLE_C ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/src.c)
+ file(WRITE ${SIMPLE_C} "#include <stdio.h>\nint main() { printf(__FILE__); return 0; }\n")
+
+ set(os_linker_flags)
+ foreach(flag ${DARWIN_${os}_LINKFLAGS})
+ set(os_linker_flags "${os_linker_flags} ${flag}")
+ endforeach()
+ endif()
# The simple program will build for x86_64h on the simulator because it is
# compatible with x86_64 libraries (mostly), but since x86_64h isn't actually
# a valid or useful architecture for the iOS simulator we should drop it.
- if(${os} STREQUAL "iossim")
+ if(${os} MATCHES "^(iossim|tvossim|watchossim)$")
list(REMOVE_ITEM archs "x86_64h")
endif()
set(working_archs)
foreach(arch ${archs})
-
+
set(arch_linker_flags "-arch ${arch} ${os_linker_flags}")
- try_compile(CAN_TARGET_${os}_${arch} ${CMAKE_BINARY_DIR} ${SIMPLE_CPP}
- COMPILE_DEFINITIONS "-v -arch ${arch}" ${DARWIN_${os}_CFLAGS}
- CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS=${arch_linker_flags}"
- OUTPUT_VARIABLE TEST_OUTPUT)
+ if(TEST_COMPILE_ONLY)
+ try_compile_only(CAN_TARGET_${os}_${arch} -v -arch ${arch} ${DARWIN_${os}_CFLAGS})
+ else()
+ try_compile(CAN_TARGET_${os}_${arch} ${CMAKE_BINARY_DIR} ${SIMPLE_C}
+ COMPILE_DEFINITIONS "-v -arch ${arch}" ${DARWIN_${os}_CFLAGS}
+ CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS=${arch_linker_flags}"
+ OUTPUT_VARIABLE TEST_OUTPUT)
+ endif()
if(${CAN_TARGET_${os}_${arch}})
list(APPEND working_archs ${arch})
else()
Modified: vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake Sat Jul 23 20:44:49 2016 (r303234)
+++ vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake Sat Jul 23 20:45:36 2016 (r303235)
@@ -1,3 +1,6 @@
+include(CMakePushCheckState)
+include(CheckSymbolExists)
+
# Because compiler-rt spends a lot of time setting up custom compile flags,
# define a handy helper function for it. The compile flags setting in CMake
# has serious issues that make its syntax challenging at best.
@@ -45,9 +48,14 @@ macro(append_string_if condition value)
endif()
endmacro()
-macro(append_no_rtti_flag list)
- append_list_if(COMPILER_RT_HAS_FNO_RTTI_FLAG -fno-rtti ${list})
- append_list_if(COMPILER_RT_HAS_GR_FLAG /GR- ${list})
+macro(append_rtti_flag polarity list)
+ if(polarity)
+ append_list_if(COMPILER_RT_HAS_FRTTI_FLAG -frtti ${list})
+ append_list_if(COMPILER_RT_HAS_GR_FLAG /GR ${list})
+ else()
+ append_list_if(COMPILER_RT_HAS_FNO_RTTI_FLAG -fno-rtti ${list})
+ append_list_if(COMPILER_RT_HAS_GR_FLAG /GR- ${list})
+ endif()
endmacro()
macro(append_have_file_definition filename varname list)
@@ -67,3 +75,94 @@ macro(list_intersect output input1 input
endif()
endforeach()
endmacro()
+
+# Takes ${ARGN} and puts only supported architectures in @out_var list.
+function(filter_available_targets out_var)
+ set(archs ${${out_var}})
+ foreach(arch ${ARGN})
+ list(FIND COMPILER_RT_SUPPORTED_ARCH ${arch} ARCH_INDEX)
+ if(NOT (ARCH_INDEX EQUAL -1) AND CAN_TARGET_${arch})
+ list(APPEND archs ${arch})
+ endif()
+ endforeach()
+ set(${out_var} ${archs} PARENT_SCOPE)
+endfunction()
+
+function(check_compile_definition def argstring out_var)
+ if("${def}" STREQUAL "")
+ set(${out_var} TRUE PARENT_SCOPE)
+ return()
+ endif()
+ cmake_push_check_state()
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${argstring}")
+ check_symbol_exists(${def} "" ${out_var})
+ cmake_pop_check_state()
+endfunction()
+
+# test_target_arch(<arch> <def> <target flags...>)
+# Checks if architecture is supported: runs host compiler with provided
+# flags to verify that:
+# 1) <def> is defined (if non-empty)
+# 2) simple file can be successfully built.
+# If successful, saves target flags for this architecture.
+macro(test_target_arch arch def)
+ set(TARGET_${arch}_CFLAGS ${ARGN})
+ set(TARGET_${arch}_LINKFLAGS ${ARGN})
+ set(argstring "")
+ foreach(arg ${ARGN})
+ set(argstring "${argstring} ${arg}")
+ endforeach()
+ check_compile_definition("${def}" "${argstring}" HAS_${arch}_DEF)
+ if(NOT HAS_${arch}_DEF)
+ set(CAN_TARGET_${arch} FALSE)
+ elseif(TEST_COMPILE_ONLY)
+ try_compile_only(CAN_TARGET_${arch} ${TARGET_${arch}_CFLAGS})
+ else()
+ set(argstring "${CMAKE_EXE_LINKER_FLAGS} ${argstring}")
+ try_compile(CAN_TARGET_${arch} ${CMAKE_BINARY_DIR} ${SIMPLE_SOURCE}
+ COMPILE_DEFINITIONS "${TARGET_${arch}_CFLAGS}"
+ OUTPUT_VARIABLE TARGET_${arch}_OUTPUT
+ CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS:STRING=${argstring}")
+ endif()
+ if(${CAN_TARGET_${arch}})
+ list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
+ elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "${arch}" AND
+ COMPILER_RT_HAS_EXPLICIT_DEFAULT_TARGET_TRIPLE)
+ # Bail out if we cannot target the architecture we plan to test.
+ message(FATAL_ERROR "Cannot compile for ${arch}:\n${TARGET_${arch}_OUTPUT}")
+ endif()
+endmacro()
+
+macro(detect_target_arch)
+ check_symbol_exists(__arm__ "" __ARM)
+ check_symbol_exists(__aarch64__ "" __AARCH64)
+ check_symbol_exists(__x86_64__ "" __X86_64)
+ check_symbol_exists(__i686__ "" __I686)
+ check_symbol_exists(__i386__ "" __I386)
+ check_symbol_exists(__mips__ "" __MIPS)
+ check_symbol_exists(__mips64__ "" __MIPS64)
+ check_symbol_exists(__s390x__ "" __S390X)
+ check_symbol_exists(__wasm32__ "" __WEBASSEMBLY32)
+ check_symbol_exists(__wasm64__ "" __WEBASSEMBLY64)
+ if(__ARM)
+ add_default_target_arch(arm)
+ elseif(__AARCH64)
+ add_default_target_arch(aarch64)
+ elseif(__X86_64)
+ add_default_target_arch(x86_64)
+ elseif(__I686)
+ add_default_target_arch(i686)
+ elseif(__I386)
+ add_default_target_arch(i386)
+ elseif(__MIPS64) # must be checked before __MIPS
+ add_default_target_arch(mips64)
+ elseif(__MIPS)
+ add_default_target_arch(mips)
+ elseif(__S390X)
+ add_default_target_arch(s390x)
+ elseif(__WEBASSEMBLY32)
+ add_default_target_arch(wasm32)
+ elseif(__WEBASSEMBLY64)
+ add_default_target_arch(wasm64)
+ endif()
+endmacro()
Modified: vendor/compiler-rt/dist/cmake/Modules/SanitizerUtils.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/SanitizerUtils.cmake Sat Jul 23 20:44:49 2016 (r303234)
+++ vendor/compiler-rt/dist/cmake/Modules/SanitizerUtils.cmake Sat Jul 23 20:45:36 2016 (r303235)
@@ -38,22 +38,8 @@ macro(add_sanitizer_rt_symbols name)
DEPENDS ${stamp}
SOURCES ${SANITIZER_GEN_DYNAMIC_LIST} ${ARG_EXTRA})
- if(NOT CMAKE_VERSION VERSION_LESS 3.0)
- install(FILES $<TARGET_FILE:${target_name}>.syms
- DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR})
- else()
- # Per-config install location.
- if(CMAKE_CONFIGURATION_TYPES)
- foreach(c ${CMAKE_CONFIGURATION_TYPES})
- get_target_property(libfile ${target_name} LOCATION_${c})
- install(FILES ${libfile}.syms CONFIGURATIONS ${c}
+ install(FILES $<TARGET_FILE:${target_name}>.syms
DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR})
- endforeach()
- else()
- get_target_property(libfile ${target_name} LOCATION_${CMAKE_BUILD_TYPE})
- install(FILES ${libfile}.syms DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR})
- endif()
- endif()
if(ARG_PARENT_TARGET)
add_dependencies(${ARG_PARENT_TARGET} ${target_name}-symbols)
endif()
@@ -84,9 +70,9 @@ macro(add_sanitizer_rt_version_list name
endmacro()
# Add target to check code style for sanitizer runtimes.
-if(UNIX)
+if(CMAKE_HOST_UNIX)
add_custom_target(SanitizerLintCheck
- COMMAND LLVM_CHECKOUT=${LLVM_MAIN_SRC_DIR} SILENT=1 TMPDIR=
+ COMMAND env LLVM_CHECKOUT=${LLVM_MAIN_SRC_DIR} SILENT=1 TMPDIR=
PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
COMPILER_RT=${COMPILER_RT_SOURCE_DIR}
${SANITIZER_LINT_SCRIPT}
Added: vendor/compiler-rt/dist/cmake/base-config-ix.cmake
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/compiler-rt/dist/cmake/base-config-ix.cmake Sat Jul 23 20:45:36 2016 (r303235)
@@ -0,0 +1,169 @@
+# The CompilerRT build system requires CMake version 2.8.8 or higher in order
+# to use its support for building convenience "libraries" as a collection of
+# .o files. This is particularly useful in producing larger, more complex
+# runtime libraries.
+
+include(CheckIncludeFile)
+check_include_file(unwind.h HAVE_UNWIND_H)
+
+# Top level target used to build all compiler-rt libraries.
+add_custom_target(compiler-rt ALL)
+set_target_properties(compiler-rt PROPERTIES FOLDER "Compiler-RT Misc")
+
+# Setting these variables from an LLVM build is sufficient that compiler-rt can
+# construct the output paths, so it can behave as if it were in-tree here.
+if (LLVM_LIBRARY_OUTPUT_INTDIR AND LLVM_RUNTIME_OUTPUT_INTDIR AND PACKAGE_VERSION)
+ set(LLVM_TREE_AVAILABLE On)
+endif()
+
+if (LLVM_TREE_AVAILABLE)
+ # Compute the Clang version from the LLVM version.
+ # FIXME: We should be able to reuse CLANG_VERSION variable calculated
+ # in Clang cmake files, instead of copying the rules here.
+ string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
+ ${PACKAGE_VERSION})
+ # Setup the paths where compiler-rt runtimes and headers should be stored.
+ set(COMPILER_RT_OUTPUT_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION})
+ set(COMPILER_RT_EXEC_OUTPUT_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
+ set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION})
+ option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests."
+ ${LLVM_INCLUDE_TESTS})
+ option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered"
+ ${LLVM_ENABLE_WERROR})
+ # Use just-built Clang to compile/link tests on all platforms, except for
+ # Windows where we need to use clang-cl instead.
+ if(NOT MSVC)
+ set(COMPILER_RT_TEST_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang)
+ set(COMPILER_RT_TEST_CXX_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++)
+ else()
+ set(COMPILER_RT_TEST_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang.exe)
+ set(COMPILER_RT_TEST_CXX_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++.exe)
+ endif()
+else()
+ # Take output dir and install path from the user.
+ set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
+ "Path where built compiler-rt libraries should be stored.")
+ set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
+ "Path where built compiler-rt executables should be stored.")
+ set(COMPILER_RT_INSTALL_PATH ${CMAKE_INSTALL_PREFIX} CACHE PATH
+ "Path where built compiler-rt libraries should be installed.")
+ option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
+ option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
+ # Use a host compiler to compile/link tests.
+ set(COMPILER_RT_TEST_COMPILER ${CMAKE_C_COMPILER} CACHE PATH "Compiler to use for testing")
+ set(COMPILER_RT_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE PATH "C++ Compiler to use for testing")
+endif()
+
+if("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang[+]*$")
+ set(COMPILER_RT_TEST_COMPILER_ID Clang)
+elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang.*.exe$")
+ set(COMPILER_RT_TEST_COMPILER_ID Clang)
+else()
+ set(COMPILER_RT_TEST_COMPILER_ID GNU)
+endif()
+
+string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR)
+set(COMPILER_RT_LIBRARY_OUTPUT_DIR
+ ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
+set(COMPILER_RT_LIBRARY_INSTALL_DIR
+ ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR})
+
+if(APPLE)
+ # On Darwin if /usr/include doesn't exist, the user probably has Xcode but not
+ # the command line tools. If this is the case, we need to find the OS X
+ # sysroot to pass to clang.
+ if(NOT EXISTS /usr/include)
+ execute_process(COMMAND xcodebuild -version -sdk macosx Path
+ OUTPUT_VARIABLE OSX_SYSROOT
+ ERROR_QUIET
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ set(OSX_SYSROOT_FLAG "-isysroot${OSX_SYSROOT}")
+ endif()
+
+ option(COMPILER_RT_ENABLE_IOS "Enable building for iOS" Off)
+ option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off)
+ option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off)
+endif()
+
+macro(test_targets)
+ # Find and run MSVC (not clang-cl) and get its version. This will tell clang-cl
+ # what version of MSVC to pretend to be so that the STL works.
+ set(MSVC_VERSION_FLAG "")
+ if (MSVC)
+ # Find and run MSVC (not clang-cl) and get its version. This will tell
+ # clang-cl what version of MSVC to pretend to be so that the STL works.
+ execute_process(COMMAND "$ENV{VSINSTALLDIR}/VC/bin/cl.exe"
+ OUTPUT_QUIET
+ ERROR_VARIABLE MSVC_COMPAT_VERSION
+ )
+ string(REGEX REPLACE "^.*Compiler Version ([0-9.]+) for .*$" "\\1"
+ MSVC_COMPAT_VERSION "${MSVC_COMPAT_VERSION}")
+ if (MSVC_COMPAT_VERSION MATCHES "^[0-9].+$")
+ set(MSVC_VERSION_FLAG "-fms-compatibility-version=${MSVC_COMPAT_VERSION}")
+ # Add this flag into the host build if this is clang-cl.
+ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ append("${MSVC_VERSION_FLAG}" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+ elseif (COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang")
+ # Add this flag to test compiles to suppress clang's auto-detection
+ # logic.
+ append("${MSVC_VERSION_FLAG}" COMPILER_RT_TEST_COMPILER_CFLAGS)
+ endif()
+ endif()
+ endif()
+
+ # Generate the COMPILER_RT_SUPPORTED_ARCH list.
+ if(ANDROID)
+ # Examine compiler output to determine target architecture.
+ detect_target_arch()
+ set(COMPILER_RT_OS_SUFFIX "-android")
+ elseif(NOT APPLE) # Supported archs for Apple platforms are generated later
+ if("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "i[2-6]86|x86|amd64")
+ if(NOT MSVC)
+ test_target_arch(x86_64 "" "-m64")
+ # FIXME: We build runtimes for both i686 and i386, as "clang -m32" may
+ # target different variant than "$CMAKE_C_COMPILER -m32". This part should
+ # be gone after we resolve PR14109.
+ test_target_arch(i686 __i686__ "-m32")
+ test_target_arch(i386 __i386__ "-m32")
+ else()
+ if (CMAKE_SIZEOF_VOID_P EQUAL 4)
+ test_target_arch(i386 "" "")
+ else()
+ test_target_arch(x86_64 "" "")
+ endif()
+ endif()
+ elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc")
+ TEST_BIG_ENDIAN(HOST_IS_BIG_ENDIAN)
+ if(HOST_IS_BIG_ENDIAN)
+ test_target_arch(powerpc64 "" "-m64")
+ else()
+ test_target_arch(powerpc64le "" "-m64")
+ endif()
+ elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "s390x")
+ test_target_arch(s390x "" "")
+ elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mipsel|mips64el")
+ # Gcc doesn't accept -m32/-m64 so we do the next best thing and use
+ # -mips32r2/-mips64r2. We don't use -mips1/-mips3 because we want to match
+ # clang's default CPU's. In the 64-bit case, we must also specify the ABI
+ # since the default ABI differs between gcc and clang.
+ # FIXME: Ideally, we would build the N32 library too.
+ test_target_arch(mipsel "" "-mips32r2" "--target=mipsel-linux-gnu")
+ test_target_arch(mips64el "" "-mips64r2" "--target=mips64el-linux-gnu" "-mabi=64")
+ elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mips")
+ test_target_arch(mips "" "-mips32r2" "--target=mips-linux-gnu")
+ test_target_arch(mips64 "" "-mips64r2" "--target=mips64-linux-gnu" "-mabi=64")
+ elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "arm")
+ test_target_arch(arm "" "-march=armv7-a" "-mfloat-abi=soft")
+ test_target_arch(armhf "" "-march=armv7-a" "-mfloat-abi=hard")
+ elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch32")
+ test_target_arch(aarch32 "" "-march=armv8-a")
+ elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch64")
+ test_target_arch(aarch64 "" "-march=armv8-a")
+ elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm32")
+ test_target_arch(wasm32 "" "--target=wasm32-unknown-unknown")
+ elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm64")
+ test_target_arch(wasm64 "" "--target=wasm64-unknown-unknown")
+ endif()
+ set(COMPILER_RT_OS_SUFFIX "")
+ endif()
+endmacro()
Added: vendor/compiler-rt/dist/cmake/builtin-config-ix.cmake
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/compiler-rt/dist/cmake/builtin-config-ix.cmake Sat Jul 23 20:45:36 2016 (r303235)
@@ -0,0 +1,169 @@
+include(BuiltinTests)
+
+# Make all the tests only check the compiler
+set(TEST_COMPILE_ONLY On)
+
+builtin_check_c_compiler_flag(-fPIC COMPILER_RT_HAS_FPIC_FLAG)
+builtin_check_c_compiler_flag(-fPIE COMPILER_RT_HAS_FPIE_FLAG)
+builtin_check_c_compiler_flag(-fno-builtin COMPILER_RT_HAS_FNO_BUILTIN_FLAG)
+builtin_check_c_compiler_flag(-std=c99 COMPILER_RT_HAS_STD_C99_FLAG)
+builtin_check_c_compiler_flag(-fvisibility=hidden COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG)
+builtin_check_c_compiler_flag(-fomit-frame-pointer COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG)
+builtin_check_c_compiler_flag(-ffreestanding COMPILER_RT_HAS_FREESTANDING_FLAG)
+builtin_check_c_compiler_flag(-mfloat-abi=soft COMPILER_RT_HAS_FLOAT_ABI_SOFT_FLAG)
+builtin_check_c_compiler_flag(-mfloat-abi=hard COMPILER_RT_HAS_FLOAT_ABI_HARD_FLAG)
+builtin_check_c_compiler_flag(-static COMPILER_RT_HAS_STATIC_FLAG)
+
+set(ARM64 aarch64)
+set(ARM32 arm armhf)
+set(X86 i386 i686)
+set(X86_64 x86_64)
+set(MIPS32 mips mipsel)
+set(MIPS64 mips64 mips64el)
+set(PPC64 powerpc64 powerpc64le)
+set(WASM32 wasm32)
+set(WASM64 wasm64)
+
+if(APPLE)
+ set(ARM64 arm64)
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-all
mailing list