From ce27e42d47bbc136cf1deb1859e10e9e8da5b501 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Sat, 14 Feb 2015 01:48:17 +0000 Subject: CodeGen: _Atomic(_Complex) shouldn't crash We could be a little kinder if we did a compare-exchange loop instead of an atomic-load/store pair. llvm-svn: 229212 --- clang/lib/CodeGen/CGExprComplex.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'clang/lib/CodeGen/CGExprComplex.cpp') diff --git a/clang/lib/CodeGen/CGExprComplex.cpp b/clang/lib/CodeGen/CGExprComplex.cpp index 1fea5a127c09..e0ac08b1aa6d 100644 --- a/clang/lib/CodeGen/CGExprComplex.cpp +++ b/clang/lib/CodeGen/CGExprComplex.cpp @@ -820,6 +820,8 @@ EmitCompoundAssignLValue(const CompoundAssignOperator *E, TestAndClearIgnoreReal(); TestAndClearIgnoreImag(); QualType LHSTy = E->getLHS()->getType(); + if (const AtomicType *AT = LHSTy->getAs()) + LHSTy = AT->getValueType(); BinOpInfo OpInfo; -- cgit v1.2.3