ais523
--- ick-0.27/src/dekludge.c 2007-12-22 09:22:14.000000000 +0000
+++ latest/src/dekludge.c 2008-01-03 14:10:58.000000000 +0000
@@ -139,6 +139,8 @@
/* ignorable holds whether a variable's ignorance status can change
*/
for (tp = tuples; tp < tuples + lineno; tp++)
{
+ /* allow for warnings to be generated during flow optimisations
*/
+ optuple = tp; /* Patch by Joris Huizer */
if(tp->maybe) tp->abstainable = 1;
if(tp->exechance < 0) tp->initabstain = 1;
if(tp->exechance != 100 && tp->exechance != -100) tp->abstainable
= 1;
--- ick-0.27/src/idiotism.oil 2007-12-22 09:22:14.000000000 +0000
+++ latest/src/idiotism.oil 2008-01-03 14:07:15.000000000 +0000
@@ -207,15 +207,15 @@
<#0-#14
((_{c<=65535&&!(c&((1LU<<r)-1LU))}1$
#{!(x&(4294967294LU<<r))}2)~#{!(x&(1431655765LU<<(r*2+2)))}3)
-->((((_1>>#{r}0)&#{iselect(x3>>(r*2+1),1431655765LU)}0)
+->((((_1>>#{r}0)~#{iselect(x3>>(r*2+1),1431655765LU)}0)
<<#{setbitcount(x3&((2LU<<(r*2))-1))}0)|
#{iselect(mingle(0,x2),x3)}0)
(((_{c<=65535&&!(c&((1LU<<r)-1LU))}1|#{x<=65535&&!
(c&~((1LU<<r)-1LU))}4)$
#{!(x&(4294967294LU<<r))}2)~#{!(x&(1431655765LU<<(r*2+2)))}3)
-->((((_1>>#{r}0)&#{iselect(x3>>(r*2+1),1431655765LU)}0)
+->((((_1>>#{r}0)~#{iselect(x3>>(r*2+1),1431655765LU)}0)
<<#{setbitcount(x3&((2LU<<(r*2))-1))}0)|
#{iselect(mingle(x4,x2),x3)}0)
(((#{x<=65535&&!(c&~((1LU<<r)-1LU))}4|_{c<=65535&&!
(c&((1LU<<r)-1LU))}1)$
#{!(x&(4294967294LU<<r))}2)~#{!(x&(1431655765LU<<(r*2+2)))}3)
-->((((_1>>#{r}0)&#{iselect(x3>>(r*2+1),1431655765LU)}0)
+->((((_1>>#{r}0)~#{iselect(x3>>(r*2+1),1431655765LU)}0)
<<#{setbitcount(x3&((2LU<<(r*2))-1))}0)|
#{iselect(mingle(x4,x2),x3)}0)
>
; 32-bit leftshift by 1; there are 8 ways to write this.
@@ -480,8 +480,8 @@
(_1|#0)->(_1)
(#0|_1)->(_1)
[noopxor]
-(_1|#0)->(_1)
-(#0|_1)->(_1)
+(_1^#0)->(_1)
+(#0^_1)->(_1)
[anditself]
(_1&_1)->(_1)
[oritself]
--- ick-0.27/src/parser.y 2007-12-22 09:22:14.000000000 +0000
+++ latest/src/parser.y 2007-12-30 01:08:38.000000000 +0000
@@ -485,12 +485,15 @@
$$->rval = newnode();
$$->rval->opcode = $1;
if($1 == MESH) {
- /* enforce the 16-bit constant constraint */
- if ((unsigned int)$3 > Max_small)
- lose(E017, iyylineno, (char *)NULL);
- $$->rval->constant = intern(MESH, $3);
+ /* enforce the 16-bit constant constraint */
+ if ((unsigned int)$3 > Max_small)
+ lose(E017, iyylineno, (char *)NULL);
+ if(variableconstants) /* AIS */
+ $$->rval->constant = intern(MESH, $2);
+ else
+ $$->rval->constant = $2;
}
else {
- $$->rval->constant = intern($1, $3);
+ $$->rval->constant = intern($1, $3);
}
}