summaryrefslogtreecommitdiff
path: root/cmake
AgeCommit message (Collapse)Author
2018-07-25[profile] Support profiling runtime on FuchsiaPetr Hosek
This ports the profiling runtime on Fuchsia and enables the instrumentation. Unlike on other platforms, Fuchsia doesn't use files to dump the instrumentation data since on Fuchsia, filesystem may not be accessible to the instrumented process. We instead use the data sink to pass the profiling data to the system the same sanitizer runtimes do. Differential Revision: https://reviews.llvm.org/D47208 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@337881 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-15[CMake] Change the flag to use compiler-rt builtins to booleanPetr Hosek
This changes the name and the type to what it was prior to r333037 which matches the name of the flag used in other runtimes: libc++, libc++abi and libunwind. We don't need the type to be a string since there's only binary choice between libgcc and compiler-rt unlike in the case of C++ library where there're multiple options. Differential Revision: https://reviews.llvm.org/D49325 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@337116 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-10[CMake] Add compiler-rt header files to the list of sources for targetsDan Liew
when building with an IDE so that header files show up in the UI. This massively improves the development workflow in IDEs. To implement this a new function `compiler_rt_process_sources(...)` has been added that adds header files to the list of sources when the generator is an IDE. For non-IDE generators (e.g. Ninja/Makefile) no changes are made to the list of source files. The function can be passed a list of headers via the `ADDITIONAL_HEADERS` argument. For each runtime library a list of explicit header files has been added and passed via `ADDITIONAL_HEADERS`. For `tsan` and `sanitizer_common` a list of headers was already present but it was stale and has been updated to reflect the current state of the source tree. The original version of this patch used file globbing (`*.{h,inc,def}`) to find the headers but the approach was changed due to this being a CMake anti-pattern (if the list of headers changes CMake won't automatically re-generate if globbing is used). The LLVM repo contains a similar function named `llvm_process_sources()` but we don't use it here for several reasons: * It depends on the `LLVM_ENABLE_OPTION` cache variable which is not set in standalone compiler-rt builds. * We would have to `include(LLVMProcessSources)` which I'd like to avoid because it would include a bunch of stuff we don't need. Differential Revision: https://reviews.llvm.org/D48422 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@336663 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-03[scudo] Enable Scudo on PPC64Kostya Kortchinsky
Summary: In conjunction with the clang side change D48833, this will enable Scudo on PPC64. I tested `check-scudo` on a powerpc64le box and everything passes. Reviewers: eugenis, alekseyshl Reviewed By: alekseyshl Subscribers: mgorny, delcypher, #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D48834 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@336213 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-28Skip building TSan on platforms where there are no 64-bit architectures.Kuba Mracek
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@335873 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-28Support for multiarch runtimes layoutPetr Hosek
This change adds a support for multiarch style runtimes layout, so in addition to the existing layout where runtimes get installed to: lib/clang/$version/lib/$os Clang now allows runtimes to be installed to: lib/clang/$version/$target/lib This also includes libc++, libc++abi and libunwind; today those are assumed to be in Clang library directory built for host, with the new layout it is possible to install libc++, libc++abi and libunwind into the runtime directory built for different targets. The use of new layout is enabled by setting the LLVM_ENABLE_RUNTIME_TARGET_DIR CMake variable and is supported by both projects and runtimes layouts. The runtimes CMake build has been further modified to use the new layout when building runtimes for multiple targets. Differential Revision: https://reviews.llvm.org/D45604 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@335809 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-27[CMake] Tidy up the organisation of compiler-rt when configured as a standaloneDan Liew
build with an IDE (e.g. Xcode) as the generator. Previously the global `USE_FOLDERS` property wasn't set in standalone builds leading to existing settings of FOLDER not being respected. In addition to this there were several targets that appeared at the top level that were not interesting and clustered up the view. These have been changed to be displayed in "Compiler-RT Misc". Now when an Xcode project is generated from a standalone compiler-rt build the project navigator is much less cluttered. The interesting libraries should appear in "Compiler-RT Libraries" in the IDE. Differential Revision: https://reviews.llvm.org/D48378 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@335728 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-25[UBsan] Enable ubsan minimal unit tests on OpenBSDDavid Carlier
OpenBSD needs lld linker for sanitisers. Disabling lint checking as some symbols cannot be defined and block the proper unit tests launch. Reviewers: lebedev.ri, vitalybuka Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D48528 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@335524 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-17Revert "[CMake] Use a different source depending on C++ support"Jonas Hahnfeld
This reverts commit r332924 and followup r332936 silencing a warning. The change breaks the build on x86 if there is no 32-bit version of the C++ libraries, see discussion in https://reviews.llvm.org/D47169. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334903 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-14[libFuzzer] [NFC] Support multi-arch and multi-OS building and testingGeorge Karpenkov
Differential Revision: https://reviews.llvm.org/D47296 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334768 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-13[compiler-rt] Use CMAKE_LINKER instead of hardcoding ldShoaib Meenai
Respect a custom linker path provided by the user if one is present (otherwise CMAKE_LINKER will have been set to the right value by CMake). git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334654 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-13[XRay] Set an explicit dependency on libc++ when neededPetr Hosek
When XRay is being built as part of the just built compiler together with libc++ as part of the runtimes build, we need an explicit dependency from XRay to libc++ to make sure that the library is available by the time we start building XRay. Differential Revision: https://reviews.llvm.org/D48113 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334575 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-13Reland "Passthrough additional flags to custom libcxx CMake build"Petr Hosek
This is needed when we're cross-compiling compiler-rt. Differential Revision: https://reviews.llvm.org/D47834 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334570 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-12Revert r334458, r334220, r334212, r334139.Matt Morehouse
Reverts changes to AddCompilerRT.cmake due to breakage of http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334528 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-12[CMake] Remove -Wno-maybe-uninitialized from passthrough vars.Matt Morehouse
Fixes http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/ buildbot. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334458 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-07[CMake] Fix Libc++ Modules build.Eric Fiselier
When building the dylib, the C++ headers are fundamentally non-module. They require special versions of the headers in order to provide C++03 and legacy ABI definitions. This causes ODR issues when modules are enabled during both the build and the usage of the libc++ headers. This patch fixes the build error by disabling modules when building the libc++ sources. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334220 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-07[CMake] Filter out -z,defs when building custom libc++Petr Hosek
-z,defs is incompatible with sanitizers so we need to filter it out from the linker flags before passing them to the libc++ build. Differential Revision: https://reviews.llvm.org/D47865 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334212 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-06[CMake] Passthrough additional flags to custom libcxx CMake buildPetr Hosek
This is needed when we're cross-compiling compiler-rt. Differential Revision: https://reviews.llvm.org/D47834 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334139 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-24[libFuzzer] Fix a typo in CMake configuration.George Karpenkov
NFC now when libFuzzer supports only one architecture, will stop being NFC after multiple architectures are supported. Differential Revision: https://reviews.llvm.org/D47283 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@333239 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-24Revert "[cmake] [ARM] Check if VFP is supported before including any VFP ↵Azharuddin Mohammed
builtins" This reverts commit 2a10f5da5acb1b51d0a2ecf13dca0bf1de859db2. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@333232 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-24[cmake] [ARM] Check if VFP is supported before including any VFP builtinsAzharuddin Mohammed
Summary: rL325492 disables FPU features when using soft floating point (-mfloat-abi=soft), which is used internally when building for armv7. This causes errors with builtins that utililize VFP instructions. With this change we first check if VFP is enabled (by checking if the preprocessor macro __VFP_FP__ is defined) before including such builtins. Reviewers: rengolin, samsonov, compnerd, smeenai, javed.absar, peter.smith Reviewed By: peter.smith Subscribers: peter.smith, mgorny, kristof.beyls, chrib, llvm-commits Differential Revision: https://reviews.llvm.org/D47217 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@333216 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-22[CMake] Support builtins as Clang default rtlib in compiler-rtPetr Hosek
Use compiler-rt builtins when selected as default Clang rtlib and avoid explicitly passing -rtlib= flag to avoid the "argument unused during compilation" warning. This is a partial alternative to D47094 that does not rely on compiler runtime checks. Differential Revision: https://reviews.llvm.org/D47115 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@333037 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-22[CMake] Support libc++ as Clang default stdlib in compiler-rtPetr Hosek
Use libc++ when selected as default Clang stdlib and avoid checking C++ compiler when using the in-tree version of libc++. This is a partial alternative to D47094 that does not rely on compiler runtime checks. Differential Revision: https://reviews.llvm.org/D47100 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@333010 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-22[CMake] Silence unused variable warning in compiler checkPetr Hosek
This is breaking the compiler check. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@332936 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-22[CMake] Use a different source depending on C++ supportPetr Hosek
When using system C++ library, assume we have a working C++ compiler and try to compile a complete C++ program. When using in tree C++ library, only check the C compiler since the C++ library likely won't have been built yet at time of running the check. Differential Revision: https://reviews.llvm.org/D47169 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@332924 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-21Revert "[CMake] Reland "Make simple source used for CMake checks a C file""Petr Hosek
This reverts commit rCRT332679 which doesn't quite work and will be replaced by D47100 and D47115 which is a cleaner solution. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@332871 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-18Revert r332683 & r332684 relating to compiler runtime checksReid Kleckner
r332683 passes flags to the compiler without first checking if they are supported. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@332754 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-18[CMake] Use <UNIX|WINDOWS>_COMMAND with separate_argumentsPetr Hosek
NATIVE_COMMAND is only available since CMake 3.9. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@332684 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-18[CMake] Detect the compiler runtime and standard libraryPetr Hosek
Rather then requiring the user to specify runtime the compiler runtime and C++ standard library, or trying to guess them which is error-prone, use auto-detection by parsing the compiler link output. Differential Revision: https://reviews.llvm.org/D46857 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@332683 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-17[CMake] Reland "Make simple source used for CMake checks a C file"Petr Hosek
The source being compiled is plain C, but using .cc extension forces it to be compiled as C++ which requires a working C++ compiler including C++ library which may not be the case when we're building compiler-rt together with libcxx as part of runtimes build. Differential Revision: https://reviews.llvm.org/D47031 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@332679 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-17[CMake] Cleanup find_compiler_rt_library function [NFC]Petr Hosek
Rename the output variable and remove the unnecessary set call. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@332661 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-09Add basic compiler-rt builtins support for hexagon.Sid Manning
Differential Revision: https://reviews.llvm.org/D46364 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@331881 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-27Revert "[CMake] Make simple source used for CMake checks a C file"Petr Hosek
This reverts commit r331003 which breaks sanitizer bots because of missing 32-bit libstdc++ library. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@331009 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-26[CMake] Make simple source used for CMake checks a C filePetr Hosek
The source being compiled is plain C, but using .cc extension forces it to be compiled as C++ which requires a working C++ compiler including C++ library which may not be the case when we're building compiler-rt together with libcxx as part of runtimes build. Differential Revision: https://reviews.llvm.org/D46152 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@331003 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-11Revert "[cmake] Remove duplicate command line options from build"Aaron Smith
The Android sanitizer buildbot is failing with this change and it looks like an additional change to cmake is necessary to fix the build. Reverting this change for now. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@329828 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-11[cmake] Remove duplicate command line options from buildAaron Smith
CMAKE_CXX_FLAGS was added twice to the command line. This causes the command line options to be doubled which works until it doesn't as not all options can be specified twice. For example, clang-cl foo.c /GS- /GS- -mllvm -small-loop-cost=1 -mllvm -small-loop-cost=1 clang (LLVM option parsing): for the -small-loop-cost option: may only occur zero or one times! git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@329817 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-09libFuzzer, OpenBSD supportVitaly Buka
Summary: - Enabling libfuzzer on OpenBSD - OpenBSD can t support asan, msan ... the tests can t be run. Patch by David CARLIER Reviewers: eugenis, phosek, vitalybuka Reviewed By: vitalybuka Subscribers: srhines, mgorny, krytarowski, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D44877 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@329631 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-09shadowcallstack: Make runtime tests compatible with aarch64.Peter Collingbourne
Differential Revision: https://reviews.llvm.org/D45303 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@329614 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-04[XRay][compiler-rt] Build XRay runtime for OpenBSDDean Michael Berris
Summary: This is D45125; the patch enables the build of XRay on OpenBSD. We also introduce some OpenBSD specific changes to the runtime implementation, involving how we get the TSC rate through the syscall interface specific to OpenBSD. Reviewers: dberris Authored by: devnexen Subscribers: dberris, mgorny, krytarowski, llvm-commits Differential Revision: https://reviews.llvm.org/D45125 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@329189 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-23[HWASan] Port HWASan to Linux x86-64 (compiler-rt)Alex Shlyapnikov
Summary: Porting HWASan to Linux x86-64, first of the three patches, compiler-rt part. The approach is similar to ARM case, trap signal is used to communicate memory tag check failure. int3 instruction is used to generate a signal, access parameters are stored in nop [eax + offset] instruction immediately following the int3 one Had to add HWASan init on malloc because, due to much less interceptors defined (most other sanitizers intercept much more and get initalized via one of those interceptors or don't care about malloc), HWASan was not initialized yet when libstdc++ was trying to allocate memory for its own fixed-size heap, which led to CHECK-fail in AllocateFromLocalPool. Also added the CHECK() failure handler with more detailed message and stack reporting. Reviewers: eugenis Subscribers: kubamracek, dberris, mgorny, kristof.beyls, delcypher, #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D44705 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@328385 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-07[Fuzzer] Avoid the unnecessary rebuild of the custom libc++Petr Hosek
This changes the add_custom_libcxx macro to resemble the llvm_ExternalProject_Add. The primary motivation is to avoid unnecessary libFuzzer rebuilds that are being done on every Ninja/Make invocation. The libc++ should be only rebuilt whenever the libc++ source itself changes. Differential Revision: https://reviews.llvm.org/D43213 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@326921 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-03OpenBSD UBsan support, cmake partKamil Rytarowski
Summary: On OpenBSD no multi arch support Enabling only UBsan and disabling Asan. Patch by: David CARLIER Reviewers: krytarowski, vitalybuka Reviewed By: vitalybuka Subscribers: srhines, mgorny, fedor.sergeev, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D44017 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@326646 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-03Adding Msan support to FreeBSDKamil Rytarowski
Summary: Enabling the memory sanitizer support for FreeBSD, most of unit tests are compatible. - Adding fstat and stressor_r interceptors. - Updating the struct link_map access since most likely the struct Obj_Entry had been updated since. - Disabling few unit tests until further work is needed (or we can assume it can work in real world code). Patch by: David CARLIER Reviewers: vitalybuka, krytarowski Reviewed By: vitalybuka Subscribers: eugenis, dim, srhines, emaste, kubamracek, mgorny, fedor.sergeev, hintonda, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D43080 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@326644 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-01[PATCH] [compiler-rt, RISCV] Support builtins for RISC-VShiva Chen
Summary: Support builtins for RISC-V, RV32 and RV64. Reviewers: asb, apazos, mgrang Differential Revision: https://reviews.llvm.org/D42958 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@326420 91177308-0d34-0410-b5e6-96231b3b80d8
2018-02-16Add initial XRay support for NetBSDKamil Rytarowski
Summary: Reuse the existing FreeBSD code as it is. Sponsored by <The NetBSD Foundation> Reviewers: dberris, rnk, vitalybuka Reviewed By: dberris Subscribers: mclow.lists, emaste, mgorny, llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D43370 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@325345 91177308-0d34-0410-b5e6-96231b3b80d8
2018-02-15Add Xray instrumentation support to FreeBSDKamil Rytarowski
Summary: - Enabling the build. - Using assembly for the cpuid parts. - Using thr_self FreeBSD call to get the thread id Patch by: David CARLIER Reviewers: dberris, rnk, krytarowski Reviewed By: dberris, krytarowski Subscribers: emaste, stevecheckoway, nglevin, srhines, kubamracek, dberris, mgorny, krytarowski, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D43278 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@325240 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-30[fuzzer] Update and enable libFuzzer on FuchsiaPetr Hosek
This change updates the Fuchsia-specific code to use the C++ friendly duration expressions and flips on the building of libclang_rt.fuzzer-x86_64.a and similar for Fuchsia. Given that compiler-rt doesn't build on Fuchsia, test have been run by explicitly building the library and linking it against lib/fuzzer/tests/FuzzerUnittest.cpp. Differential Revision: https://reviews.llvm.org/D42670 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@323828 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-29[scudo] Add support for Fuchsia OS.Kostya Kortchinsky
Summary: Built & tested in Fuchsia's build system. Reviewers: alekseyshl, cryptoad, aarongreen Reviewed By: cryptoad Subscribers: srhines, mgorny Differential Revision: https://reviews.llvm.org/D42610 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@323685 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-29Revert: [compiler-rt] r323626 - [cmake] [compiler-rt] Remove duplicate ↵Don Hinton
CMAKE_CXX_FLAGS. Looks like it broke a bot: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-android/builds/7195 Reverting until I have a chance to investigate. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@323629 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-29[cmake] [compiler-rt] Remove duplicate CMAKE_CXX_FLAGS.Don Hinton
`set_target_compile_flags()` ultimately sets COMPILE_FLAGS which is added to CMAKE_CXX_FLAGS in the compile rule, so passing CMAKE_CXX_FLAGS causes them to be duplicated. Differential Revision: https://reviews.llvm.org/D42398 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@323626 91177308-0d34-0410-b5e6-96231b3b80d8