llvm-project/clang/tools
Erik Pilkington eee944e7f9 [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast
This commit adds a new builtin, __builtin_bit_cast(T, v), which performs a
bit_cast from a value v to a type T. This expression can be evaluated at
compile time under specific circumstances.

The compile time evaluation currently doesn't support bit-fields, but I'm
planning on fixing this in a follow up (some of the logic for figuring this out
is in CodeGen). I'm also planning follow-ups for supporting some more esoteric
types that the constexpr evaluator supports, as well as extending
__builtin_memcpy constexpr evaluation to use the same infrastructure.

rdar://44987528

Differential revision: https://reviews.llvm.org/D62825

llvm-svn: 364954
2019-07-02 18:28:13 +00:00
..
arcmt-test Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
c-arcmt-test [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
c-index-test Print NULL as "(null)" in diagnostic message 2019-06-26 19:27:16 +00:00
clang-check Introduce the ability to dump the AST to JSON. 2019-05-13 21:39:55 +00:00
clang-diff Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
clang-extdef-mapping Fix "-Wimplicit-fallthrough" warning. NFCI. 2019-04-23 11:45:28 +00:00
clang-format [git-clang-format] recognize hxx as a C++ file 2019-06-21 09:49:38 +00:00
clang-format-vs clang-format extension: Widen the supported versions range 2019-06-13 07:07:24 +00:00
clang-fuzzer Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
clang-import-test Introduce the ability to dump the AST to JSON. 2019-05-13 21:39:55 +00:00
clang-offload-bundler Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef> 2019-05-16 13:24:04 +00:00
clang-refactor Rename clangToolingRefactor to clangToolingRefactoring for consistency with its directory 2019-05-25 00:27:19 +00:00
clang-rename Rename clangToolingRefactor to clangToolingRefactoring for consistency with its directory 2019-05-25 00:27:19 +00:00
clang-scan-deps [clang-scan-deps] Introduce the DependencyScanning library with the 2019-06-26 21:11:51 +00:00
clang-shlib Fix target property to make BUILD_SHARED_LIBS work 2019-05-21 23:50:15 +00:00
diag-build
diagtool [clang] Switch to LLVM_ENABLE_IDE 2019-02-20 23:08:43 +00:00
driver [Driver] Fix style issues of --print-supported-cpus after D63105 2019-06-29 01:24:36 +00:00
libclang [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast 2019-07-02 18:28:13 +00:00
scan-build [analyzer] Teach scan-build to find clang when installed in /usr/local/bin/ 2019-03-16 01:01:29 +00:00
scan-build-py [tools] Fix python DeprecationWarning: invalid escape sequence 2019-02-11 15:03:17 +00:00
scan-view Portable Python script across Python version 2019-01-03 14:26:56 +00:00
CMakeLists.txt [clang-scan-deps] initial outline of the tool that runs preprocessor to find 2019-06-12 21:32:49 +00:00