From 8f71ab7cfe0a2dca5a55cb835dbb8ac18d775daa Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Fri, 2 Dec 2011 09:37:57 +0000 Subject: Fix error on function declaration without definition --- pp2cc.py | 17 ++++++++++------- 1 file 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) -- cgit v1.2.1