diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-02-14 01:35:07 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-02-14 01:35:07 +0000 |
commit | 6866a3c6f4c6ac4c368f4292b6567e456646b07b (patch) | |
tree | 4faf9187ddbd56c54ca88e3bf3457423d2078208 /clang/lib/CodeGen/CGExpr.cpp | |
parent | 33cc10724d7d5ae3e6502fb8806cc02a1f821aef (diff) | |
download | bcm5719-llvm-6866a3c6f4c6ac4c368f4292b6567e456646b07b.tar.gz bcm5719-llvm-6866a3c6f4c6ac4c368f4292b6567e456646b07b.zip |
CodeGen: Correctly convert atomic bool from i8 to i1
Bools are a little tricky, they are i8 in memory and must be coerced
back to i1 before further operations can be performed on them.
This fixes PR22577.
llvm-svn: 229204
Diffstat (limited to 'clang/lib/CodeGen/CGExpr.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGExpr.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp index 568f949c342..d82fff85dd3 100644 --- a/clang/lib/CodeGen/CGExpr.cpp +++ b/clang/lib/CodeGen/CGExpr.cpp @@ -1140,7 +1140,7 @@ llvm::Value *CodeGenFunction::EmitLoadOfScalar(llvm::Value *Addr, bool Volatile, LValue lvalue = LValue::MakeAddr(Addr, Ty, CharUnits::fromQuantity(Alignment), getContext(), TBAAInfo); - return EmitAtomicLoad(lvalue, Loc).getScalarVal(); + return EmitFromMemory(EmitAtomicLoad(lvalue, Loc).getScalarVal(), Ty); } llvm::LoadInst *Load = Builder.CreateLoad(Addr); |