diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-10-07 02:45:12 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-10-07 02:45:12 +0000 |
commit | 231ea9998762f44267950a4c864442226b839c25 (patch) | |
tree | 056022c3b1523916246628733e3f13634894ad6d /include | |
parent | 1c3c183da3437d9580a66c719a1cb54522d530ee (diff) | |
download | clang-231ea9998762f44267950a4c864442226b839c25.tar.gz |
Fix behavior of __builtin_bit_cast when the From and To types are the
same.
We were missing the lvalue-to-rvalue conversion entirely in this case,
and in fact still need the full CK_LValueToRValueBitCast conversion to
perform a load with no TBAA.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@373874 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/clang/AST/OperationKinds.def | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/clang/AST/OperationKinds.def b/include/clang/AST/OperationKinds.def index 9af92c1ae7..f29664e8eb 100644 --- a/include/clang/AST/OperationKinds.def +++ b/include/clang/AST/OperationKinds.def @@ -66,8 +66,9 @@ CAST_OPERATION(BitCast) /// bool b; reinterpret_cast<char&>(b) = 'a'; CAST_OPERATION(LValueBitCast) -/// CK_LValueToRValueBitCast - A conversion that causes us to reinterpret an -/// lvalue as an rvalue of a different type. Created by __builtin_bit_cast. +/// CK_LValueToRValueBitCast - A conversion that causes us to reinterpret the +/// object representation of an lvalue as an rvalue. Created by +/// __builtin_bit_cast. CAST_OPERATION(LValueToRValueBitCast) /// CK_LValueToRValue - A conversion which causes the extraction of |