]> granicus.if.org Git - clang/commit
Fix some i1/i8 confusion within _Atomic(bool) in IR generation, both
authorDouglas Gregor <dgregor@apple.com>
Thu, 12 Apr 2012 20:42:30 +0000 (20:42 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 12 Apr 2012 20:42:30 +0000 (20:42 +0000)
commit47bfcca2d6972d98a1b25239cd1aa658b60680e2
tree8732be18cb85fff8187b0b9538150fe2db78320b
parent83748e2f41ea0ac7c954946feb5da9ccc6ab8bec
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
lib/CodeGen/CGExpr.cpp
lib/CodeGen/CodeGenTypes.cpp
lib/Sema/SemaExprCXX.cpp
test/CodeGenCXX/atomicinit.cpp