Line
Link Here
|
0 |
-- /llvm/cmake/modules/CheckAtomic.cmake |
0 |
++ /llvm/cmake/modules/CheckAtomic.cmake |
Lines 82-87
Link Here
|
82 |
endif() |
82 |
endif() |
83 |
endif() |
83 |
endif() |
84 |
|
84 |
|
|
|
85 |
# Set variable LLVM_ATOMIC_LIB specifying flags for linking against libatomic. |
86 |
if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB) |
87 |
# Use options --push-state, --as-needed and --pop-state if linker is known to support them. |
88 |
# Use single option -Wl of compiler driver to avoid incorrect re-ordering of options by CMake. |
89 |
if(LLVM_LINKER_IS_GNULD OR LLVM_LINKER_IS_GOLD OR LLVM_LINKER_IS_LLD OR LLVM_LINKER_IS_MOLD) |
90 |
set(LLVM_ATOMIC_LIB "-Wl,--push-state,--as-needed,-latomic,--pop-state") |
91 |
else() |
92 |
set(LLVM_ATOMIC_LIB "-latomic") |
93 |
endif() |
94 |
endif() |
95 |
|
85 |
## TODO: This define is only used for the legacy atomic operations in |
96 |
## TODO: This define is only used for the legacy atomic operations in |
86 |
## llvm's Atomic.h, which should be replaced. Other code simply |
97 |
## llvm's Atomic.h, which should be replaced. Other code simply |
87 |
## assumes C++11 <atomic> works. |
98 |
## assumes C++11 <atomic> works. |