summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xpp2cc.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/pp2cc.py b/pp2cc.py
index a76cb7f..ad50cd4 100755
--- a/pp2cc.py
+++ b/pp2cc.py
@@ -1118,13 +1118,16 @@ class Parse(object):
"""Processes function parameters and returns assembly for modifying SP
"""
lines = []
- variables = linked_node.getFunctionNode().variables
- params = linked_node.node.params
- try:
- for param in params:
- variables.declName(param.name, is_param=True)
- except RuntimeError as errmsg:
- self.logger.error(errmsg, linked_node=linked_node)
+ function = linked_node.getFunctionNode()
+ # function may be None if this is a function declaration without body
+ if function:
+ variables = function.variables
+ params = linked_node.node.params
+ try:
+ for param in params:
+ variables.declName(param.name, is_param=True)
+ except RuntimeError as errmsg:
+ self.logger.error(errmsg, linked_node=linked_node)
return lines
def parseStatement(self, node, parent_linked_node, level_increment=False):
linked_node = LinkedNode(node, parent_linked_node, level_increment=level_increment)