Go to file
Sam McCall e0a3dec9fb [clangd] Use pthread instead of thread_local to support more runtimes.
Summary:
thread_local has nice syntax and semantics, but requires __cxa_thread_atexit,
and some not-ancient runtime libraries don't provide it.
The clang-x86_64-linux-selfhost-modules buildbot is one example :-)

It works on windows, and the other platforms clang-tools-extra supports should
all have the relevant pthread API. So we just use that if it's available,
falling back to thread_local (so if a platform has neither, we'll fail to link).

The fallback should really be the other way, that would require cmake changes.

Reviewers: ilya-biryukov, bkramer

Subscribers: klimek, jkorous-apple, ioeric, cfe-commits

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

llvm-svn: 323949
2018-02-01 10:01:25 +00:00
clang [CodeGen] Fix an assertion failure in CGRecordLowering. 2018-02-01 03:04:15 +00:00
clang-tools-extra [clangd] Use pthread instead of thread_local to support more runtimes. 2018-02-01 10:01:25 +00:00
compiler-rt [XRay][compiler-rt+llvm] Update XRay register stashing semantics 2018-02-01 02:21:54 +00:00
debuginfo-tests [debuginfo-tests] Support moving debuginfo-tests to llvm/projects 2017-12-12 16:54:20 +00:00
libclc half_powr: Implement using powr 2018-02-01 03:00:35 +00:00
libcxx Add static_asserts to basic_ios and basic_stream_buf to ensure that that the traits match the character type. This is a requirement on the user - now we get consistent failures at compile time instead of incomprehensible error messages or runtime failures. This is also LWG#2994 - not yet adopted. 2018-02-01 03:55:27 +00:00
libcxxabi [demangler] Improve variadic template support 2018-01-31 20:17:06 +00:00
libunwind [cmake] [libunwind] LLVM_FOUND isn't always set, so just test if 2018-01-27 19:31:44 +00:00
lld Simplify by sorting relocations before writing them. 2018-02-01 03:17:12 +00:00
lldb replace os.mkdirs with lldbutil.mkdir_p (NFC) 2018-01-31 21:39:00 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm Test commit: Fix a comment. 2018-02-01 08:39:58 +00:00
openmp [libomptarget] Check for library with CUDA Driver API 2018-01-30 16:49:13 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Change memcpy/memove/memset to have dest and source alignment attributes. 2018-01-28 18:13:57 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

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