Check that it's a variable definition before collapsing or giving warning.

This commit is contained in:
Sei Lisa 2014-07-27 22:03:31 +02:00
parent 100de9c8e9
commit 64e5d0dc92

View file

@ -367,9 +367,10 @@ class optimizer(object):
self.Fold(entry[2][event][2], False) self.Fold(entry[2][event][2], False)
elif type(entry[2]) == tuple: elif type(entry[2]) == tuple:
self.Fold(entry[2]) # global self.Fold(entry[2]) # global
val = entry[2] if len(entry) == 3:
# Unfold constant val = entry[2]
if val[0] == 'EXPR' and val[2][0] == CONSTANT: # Unfold constant
symtab[0][name] = entry[:2] + (val[2][2],) + entry[3:] if val[0] == 'EXPR' and val[2][0] == CONSTANT:
else: symtab[0][name] = entry[:2] + (val[2][2],) + entry[3:]
warning(u'WARNING: Expression does not collapse to a single constant.') else:
warning(u'WARNING: Expression does not collapse to a single constant.')