* support/regression/tests/bug1788177.c: new, added
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4911
4a8a32a2-be11-0410-ad9d-
d568d2c75423
+2007-09-05 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * src/mcs51/gen.c (genReceive): fixed bug 1788177
+ * support/regression/tests/bug1788177.c: new, added
+
2007-09-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2007-09-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
- * doc/sdccman.lyx: mentioned d52 and cmake, customizing startup code
- * device/include/mcs51/lint.h added keyword __naked
+ * doc/sdccman.lyx: mentioned d52 and cmake, customizing startup code
+ * device/include/mcs51/lint.h added keyword __naked
2007-09-04 Maarten Brock <sourceforge.brock AT dse.nl>
2007-09-04 Maarten Brock <sourceforge.brock AT dse.nl>
}
else if (ic->argreg > 12)
{ /* bit parameters */
}
else if (ic->argreg > 12)
{ /* bit parameters */
- if (OP_SYMBOL (IC_RESULT (ic))->regs[0]->rIdx != ic->argreg-5)
+ regs *reg = OP_SYMBOL (IC_RESULT (ic))->regs[0];
+
+ BitBankUsed = 1;
+ if (!reg || reg->rIdx != ic->argreg-5)
{
aopOp (IC_RESULT (ic), ic, FALSE);
emitcode ("mov", "c,%s", rb1regs[ic->argreg-5]);
{
aopOp (IC_RESULT (ic), ic, FALSE);
emitcode ("mov", "c,%s", rb1regs[ic->argreg-5]);
--- /dev/null
+/*\r
+ bug 1788177\r
+*/\r
+\r
+#include <stdbool.h>\r
+#include <testfwk.h>\r
+\r
+#ifdef __bool_true_false_are_defined\r
+\r
+bool var;\r
+\r
+// no need to call this, it generates compiler error:\r
+// Caught signal 11: SIGSEGV\r
+void foo(bool parm) {\r
+ var = parm;\r
+}\r
+\r
+#endif\r
+\r
+void\r
+testBug(void)\r
+{\r
+ ASSERT(1);\r
+}\r