diff options
author | Sye van der Veen <svanderveen@blackberry.com> | 2013-06-10 12:56:15 -0400 |
---|---|---|
committer | Sye van der Veen <svanderveen@blackberry.com> | 2013-06-10 12:56:15 -0400 |
commit | 51a46ec9e3cd619a35f04989f06c4fc74550f27d (patch) | |
tree | bc63ba2fc3ce73a06f62ff20211c4d404db4f47f /tests | |
parent | 262a4157db3737efa096d2c77d4845458fe638ef (diff) | |
download | pycparser-51a46ec9e3cd619a35f04989f06c4fc74550f27d.tar.gz |
Functions that don't have explicit return types are assumed to return int
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_c_parser.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/test_c_parser.py b/tests/test_c_parser.py index e1ceec3..bae764c 100644 --- a/tests/test_c_parser.py +++ b/tests/test_c_parser.py @@ -260,6 +260,15 @@ class TestCParser_fundamentals(TestCParser_base): ], ['TypeDecl', ['IdentifierType', ['int']]]]]) + # function return values and parameters may not have type information + self.assertEqual(self.get_decl('extern foobar(foo, bar);'), + ['Decl', 'foobar', + ['FuncDecl', + [ ['ID', 'foo'], + ['ID', 'bar'] + ], + ['TypeDecl', ['IdentifierType', ['int']]]]]) + def test_nested_decls(self): # the fun begins self.assertEqual(self.get_decl('char** ar2D;'), ['Decl', 'ar2D', @@ -1067,6 +1076,20 @@ class TestCParser_fundamentals(TestCParser_base): self.assertEqual(expand_decl(f3.param_decls[1]), ['Decl', 'c', ['PtrDecl', ['TypeDecl', ['IdentifierType', ['long']]]]]) + # function return values and parameters may not have type information + f4 = parse_fdef(''' + que(p) + { + return 3; + } + ''') + + self.assertEqual(fdef_decl(f4), + ['Decl', 'que', + ['FuncDecl', + [['ID', 'p']], + ['TypeDecl', ['IdentifierType', ['int']]]]]) + def test_unified_string_literals(self): # simple string, for reference d1 = self.get_decl_init('char* s = "hello";') |