summaryrefslogtreecommitdiff
path: root/src/mem/slicc/ast/FuncCallExprAST.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/slicc/ast/FuncCallExprAST.py')
-rw-r--r--src/mem/slicc/ast/FuncCallExprAST.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mem/slicc/ast/FuncCallExprAST.py b/src/mem/slicc/ast/FuncCallExprAST.py
index 0c9880d6d..b3cc9f1ec 100644
--- a/src/mem/slicc/ast/FuncCallExprAST.py
+++ b/src/mem/slicc/ast/FuncCallExprAST.py
@@ -74,6 +74,24 @@ class FuncCallExprAST(ExprAST):
return self.symtab.find("void", Type)
+ if self.proc_name == "DPRINTFN":
+ format = "%s" % (self.exprs[0].inline())
+ format_length = len(format)
+ str_list = []
+
+ for i in range(1, len(self.exprs)):
+ str_list.append("%s" % self.exprs[i].inline())
+
+ if len(str_list) == 0:
+ code('DPRINTFN("$0: $1")',
+ self.exprs[0].location, format[2:format_length-2])
+ else:
+ code('DPRINTFN("$0: $1", $2)',
+ self.exprs[0].location, format[2:format_length-2],
+ ', '.join(str_list))
+
+ return self.symtab.find("void", Type)
+
# hack for adding comments to profileTransition
if self.proc_name == "APPEND_TRANSITION_COMMENT":
# FIXME - check for number of parameters