Fix some i1/i8 confusion within _Atomic(bool) in IR generation, both
in general (such an atomic has boolean representation) and specifically for IR generation of __c11_atomic_init. The latter also means actually using initialization semantics for this initialization, rather than just creating a store. On a related note, make sure we actually put in non-atomic-to-atomic conversions when performing an implicit conversion sequence. IR generation is far too kind here, but we still want the ASTs to make sense. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154612 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- lib/CodeGen/CGExpr.cpp 9 additions, 5 deletionslib/CodeGen/CGExpr.cpp
- lib/CodeGen/CodeGenTypes.cpp 1 addition, 1 deletionlib/CodeGen/CodeGenTypes.cpp
- lib/Sema/SemaExprCXX.cpp 7 additions, 0 deletionslib/Sema/SemaExprCXX.cpp
- test/CodeGenCXX/atomicinit.cpp 24 additions, 1 deletiontest/CodeGenCXX/atomicinit.cpp
Loading
Please register or sign in to comment