Go to file
Nico Weber 9aa55d3c66 lld-link: Allow mixing 'discard' and 'largest' comdat selections
cl.exe and clang-cl.exe put vftables in a 'discard' comdat when building with
RTTI disabled (/GR-) but in a 'largest' comdat when building with RTTI enabled.
To be able to link /GR- code with /GR code, lld-link needs to accept comdats
that have this type of comdat selection conflict.

For example, static libraries in the Visual Studio standard library are built
with /GR, and without this it's impossible to build client code with /GR- and
still link to the standard library.

link.exe also accepts merging 'discard' with 'largest', and it accepts merging
'largest' with any other selection type. lld-link is still a bit stricter since
it only allows merging 'largest' with 'discard' for symmetry.

Differential Revision: https://reviews.llvm.org/D57515

llvm-svn: 352765
2019-01-31 16:14:33 +00:00
clang Accomodate gcc 7.3.0's -Wdangling-else 2019-01-31 15:26:03 +00:00
clang-tools-extra [clangd] Append "(fix available)" to diagnostic message when fixes are present. 2019-01-31 16:09:25 +00:00
compiler-rt Revert r352732: [libFuzzer] replace slow std::mt19937 with a much faster std::minstd_rand 2019-01-31 12:44:14 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
libcxx [CMake] Use correct visibility for linked libraries in CMake 2019-01-30 23:18:05 +00:00
libcxxabi [CMake] Use correct visibility for linked libraries in CMake 2019-01-30 23:18:05 +00:00
libunwind [CMake] Use correct visibility for linked libraries in CMake 2019-01-30 23:18:05 +00:00
lld lld-link: Allow mixing 'discard' and 'largest' comdat selections 2019-01-31 16:14:33 +00:00
lldb [LLDB] FreeBSD suppress compilation warning 2019-01-31 11:54:58 +00:00
llgo Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
llvm [ThinLTO] Rename COMDATs for COFF when promoting/renaming COMDAT leader 2019-01-31 16:00:15 +00:00
openmp [OMPT] Make sure that OMPT is enabled when accessing internals of the runtime 2019-01-30 08:41:06 +00:00
parallel-libs Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
polly Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
pstl Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
.arcconfig Update monorepo .arcconfig with new project callsign. 2019-01-31 14:34:59 +00:00
.clang-format Add .clang-tidy and .clang-format files to the toplevel of the 2019-01-29 16:43:16 +00:00
.clang-tidy Add .clang-tidy and .clang-format files to the toplevel of the 2019-01-29 16:43:16 +00:00
README.md

README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.