[llvm-branch-commits] [cfe-branch] r113273 - in /cfe/branches/Apple/williamson: lib/CodeGen/CGExprScalar.cpp test/CodeGen/_Bool-conversion.c
Daniel Dunbar
daniel at zuster.org
Tue Sep 7 13:35:23 PDT 2010
Author: ddunbar
Date: Tue Sep 7 15:35:23 2010
New Revision: 113273
URL: http://llvm.org/viewvc/llvm-project?rev=113273&view=rev
Log:
Merge r112943:
--
Author: Daniel Dunbar <daniel at zuster.org>
Date: Fri Sep 3 02:07:00 2010 +0000
IRgen: Fix silly thinko in r112021, which was generating code for the same expr
twice. This showed up as an assert on the odd test case because we generated the
decl map entry twice.
Modified:
cfe/branches/Apple/williamson/lib/CodeGen/CGExprScalar.cpp
cfe/branches/Apple/williamson/test/CodeGen/_Bool-conversion.c
Modified: cfe/branches/Apple/williamson/lib/CodeGen/CGExprScalar.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/Apple/williamson/lib/CodeGen/CGExprScalar.cpp?rev=113273&r1=113272&r2=113273&view=diff
==============================================================================
--- cfe/branches/Apple/williamson/lib/CodeGen/CGExprScalar.cpp (original)
+++ cfe/branches/Apple/williamson/lib/CodeGen/CGExprScalar.cpp Tue Sep 7 15:35:23 2010
@@ -1042,7 +1042,7 @@
// Handle conversion to bool correctly.
if (DestTy->isBooleanType())
- return EmitScalarConversion(Visit(E), E->getType(), DestTy);
+ return EmitScalarConversion(Src, E->getType(), DestTy);
return Builder.CreatePtrToInt(Src, ConvertType(DestTy));
}
Modified: cfe/branches/Apple/williamson/test/CodeGen/_Bool-conversion.c
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/Apple/williamson/test/CodeGen/_Bool-conversion.c?rev=113273&r1=113272&r2=113273&view=diff
==============================================================================
--- cfe/branches/Apple/williamson/test/CodeGen/_Bool-conversion.c (original)
+++ cfe/branches/Apple/williamson/test/CodeGen/_Bool-conversion.c Tue Sep 7 15:35:23 2010
@@ -6,3 +6,7 @@
static _Bool f0_0(void *a0) { return (_Bool) a0; }
int f0() { return f0_0((void*) 0x2); }
+
+_Bool f1(void) {
+ return (_Bool) ({ void (*x)(); x = 0; });
+}
More information about the llvm-branch-commits
mailing list