diff options
author | Peter Wu <lekensteyn@gmail.com> | 2011-12-05 21:25:53 +0000 |
---|---|---|
committer | Peter Wu <lekensteyn@gmail.com> | 2011-12-05 21:25:53 +0000 |
commit | e63ed727141798cf38024ec1f0b0eca449c70621 (patch) | |
tree | ecd2198e77e6042bee85090b5220827c46ccb46e | |
parent | 4a359599772a6059d95fb9c4c9f0ff071ccf7b50 (diff) | |
download | pp2cc-e63ed727141798cf38024ec1f0b0eca449c70621.tar.gz |
Provide information on functions missing in C but found in ASM
-rw-r--r-- | TODO | 15 | ||||
-rwxr-xr-x | pp2cc.py | 8 |
2 files changed, 23 insertions, 0 deletions
@@ -2,3 +2,18 @@ Post decrement/increment operators: p-- p++ x.y x->y + +Array support: +int a[][2] = {{1, 2}, {3, 4}}; +int b[1][2]; +int *c[2]; +a[1][1]; +c[0] = &x;// where int x = 1; +int *p = a[0];// points to address of first element +int x = *a[0];// equals *(a[0]) + +static variables in functions + +Type checking + +pointer functions @@ -197,6 +197,14 @@ class Parse(object): " 'fn_main' exists in assembly") else: self.logger.warning("No main function found with label 'fn_main'") + for function in self.functions.values(): + if not function.isLinked(): + if "fn_" + function.name in self.labels: + self.logger.info("Function '{}' is declared and found in" + " assembly".format(function.name)) + else: + self.logger.warning("Function '{}' is declared but not defined" + .format(function.name)) output.append(self.asm.branch_op("BRA", "fn_main")) output.append("") output += self.codeSegment |