diff options
author | eli.bendersky <devnull@localhost> | 2011-07-16 06:43:20 +0300 |
---|---|---|
committer | eli.bendersky <devnull@localhost> | 2011-07-16 06:43:20 +0300 |
commit | 1bd6c17d15eb2e4942589b5beeaadaca096c9027 (patch) | |
tree | 4b542f3ea6707908751a8bac71536f2ba810b19a /examples | |
parent | 51da62f5c07e6a6e6a4bae42f282b9cdeb7c9048 (diff) | |
download | pycparser-1bd6c17d15eb2e4942589b5beeaadaca096c9027.tar.gz |
1. remove redundant code
2. fix spacing issue in empty type declarations
Diffstat (limited to 'examples')
-rw-r--r-- | examples/c-to-c.py | 15 | ||||
-rw-r--r-- | examples/tests/test_c-to-c.py | 8 |
2 files changed, 12 insertions, 11 deletions
diff --git a/examples/c-to-c.py b/examples/c-to-c.py index 5b22ddf..93de0aa 100644 --- a/examples/c-to-c.py +++ b/examples/c-to-c.py @@ -147,16 +147,6 @@ class CGenerator(object): s += ', ' s += '}' return s - - def visit_Struct(self, n): - s = 'struct' - if n.name: s += ' ' + n.name - if n.decls: - s += ' { \n' - for decl in n.decls: - s += ' ' + self.visit(decl) + ';\n' - s += '}' - return s def visit_FuncDef(self, n): decl = self.visit(n.decl) @@ -362,7 +352,7 @@ class CGenerator(object): nstr += '(' + self.visit(modifier.args) + ')' elif isinstance(modifier, c_ast.PtrDecl): nstr = '*' + nstr - s += ' ' + nstr + if nstr: s += ' ' + nstr return s elif typ == c_ast.Decl: return self._generate_decl(n.type) @@ -407,6 +397,9 @@ def translate_to_c(filename): def zz_test_translate(): # internal use src = r''' + + void f(void){} + int main(void) { int a; diff --git a/examples/tests/test_c-to-c.py b/examples/tests/test_c-to-c.py index f9f9aa3..cba62f5 100644 --- a/examples/tests/test_c-to-c.py +++ b/examples/tests/test_c-to-c.py @@ -84,6 +84,14 @@ class TestCtoC(unittest.TestCase): return a;
}''')
+ def test_struct_decl(self): + self._assert_ctoc_correct(r'''
+ typedef struct node_t {
+ struct node_t* next;
+ int data;
+ } node;
+ ''')
+
def test_issue36(self): self._assert_ctoc_correct(r'''
int main() {
|