Go to file
Louis Dionne 6b653fc70f [libc++] Disentangle the 3 implementations of type_info
Summary:
We currently have effectively 3 implementations of type_info: one for
the Microsoft ABI, one that does not assume that there's a unique copy
of each RTTI in a progran, and one that assumes a unique copy.

Those 3 implementations are entangled into the same class with nested
ifdefs, which makes it very difficult to understand. Furthermore, the
benefit of doing this is rather small since the code that is duplicated
across implementations is just a couple of trivial lines.

This patch stamps out the 3 versions of type_info explicitly to increase
readability. It also explains what's going on with short comments, because
it's far from obvious.

Reviewers: EricWF, mclow.lists

Subscribers: christof, jkorous, dexonsmith

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

llvm-svn: 352905
2019-02-01 20:00:13 +00:00
clang Update SanitizerCoverage doc regarding the issue with pc-table and gc-sections. 2019-02-01 17:12:35 +00:00
clang-tools-extra [clangd] Expose SelectionTree to code tweaks, and use it for swap if branches. 2019-02-01 15:09:47 +00:00
compiler-rt Mark __rela_iplt_{start,end} as weak. 2019-02-01 00:43:31 +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 [libc++] Disentangle the 3 implementations of type_info 2019-02-01 20:00:13 +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 Fix some sphinx doc errors. 2019-02-01 17:06:41 +00:00
lldb Fix the xcode build for r352845, attempt #2 2019-02-01 19:31:02 +00:00
llgo Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
llvm [InstCombine] Extra null-checking on TFE/LWE support 2019-02-01 19:53:44 +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 Disable tidy checks with too many hits 2019-02-01 11:20:13 +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.