From 2b14acc8a0631fbc8aff5b7dafada8b1aa778710 Mon Sep 17 00:00:00 2001 From: Sei Lisa Date: Fri, 23 Mar 2018 21:57:33 +0100 Subject: [PATCH] Follow-up fix to 82081b2 (#3) Globals appearing in vectors or rotations inside a list still caused a crash. Fixes #3 again. --- lslopt/lsldeadcode.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lslopt/lsldeadcode.py b/lslopt/lsldeadcode.py index f683a08..01e481b 100644 --- a/lslopt/lsldeadcode.py +++ b/lslopt/lsldeadcode.py @@ -226,6 +226,14 @@ class deadcode(object): sym = self.symtab[0][subnode['name']] sym['W'] = False self.tree[sym['Loc']]['X'] = True + elif subnode['nt'] in ('VECTOR', 'ROTATION'): + for sub2node in subnode['ch']: + # can only happen in globals + if sub2node['nt'] == 'IDENT': + assert sub2node['scope'] == 0 + sym = self.symtab[0][sub2node['name']] + sym['W'] = False + self.tree[sym['Loc']]['X'] = True else: self.MarkReferences(child[0]) return True