diff options
author | ldore <laurent.dore@gmail.com> | 2017-11-22 14:52:53 +0100 |
---|---|---|
committer | Eli Bendersky <eliben@users.noreply.github.com> | 2017-11-22 05:52:53 -0800 |
commit | ec2331889b3a283dfbd09bc76fc7e117d0644ec0 (patch) | |
tree | 4245534f7a6b2e721e915ec9176057e3e265bc6c /tests | |
parent | 5da662c5dc5474b724b0a22d5424d6066bd30d91 (diff) | |
download | pycparser-ec2331889b3a283dfbd09bc76fc7e117d0644ec0.tar.gz |
Add support for #pragma in struct_declaration (Issue #221). (#222)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_c_generator.py | 3 | ||||
-rwxr-xr-x | tests/test_c_parser.py | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/tests/test_c_generator.py b/tests/test_c_generator.py index 43204c1..267bb3d 100644 --- a/tests/test_c_generator.py +++ b/tests/test_c_generator.py @@ -274,6 +274,9 @@ class TestCtoC(unittest.TestCase): #pragma bar i = (a, b, c); } + typedef struct s { + #pragma baz + } s; ''') def test_compound_literal(self): diff --git a/tests/test_c_parser.py b/tests/test_c_parser.py index 8b09a3f..ab6143f 100755 --- a/tests/test_c_parser.py +++ b/tests/test_c_parser.py @@ -1348,6 +1348,9 @@ class TestCParser_fundamentals(TestCParser_base): for(;;) {} #pragma } + struct s { + #pragma baz + } s; ''' s1_ast = self.parse(s1) self.assertTrue(isinstance(s1_ast.ext[0], Pragma)) @@ -1361,6 +1364,10 @@ class TestCParser_fundamentals(TestCParser_base): self.assertTrue(isinstance(s1_ast.ext[1].body.block_items[2], Pragma)) self.assertEqual(s1_ast.ext[1].body.block_items[2].string, '') self.assertEqual(s1_ast.ext[1].body.block_items[2].coord.line, 6) + + self.assertTrue(isinstance(s1_ast.ext[2].type.type.decls[0], Pragma)) + self.assertEqual(s1_ast.ext[2].type.type.decls[0].string, 'baz') + self.assertEqual(s1_ast.ext[2].type.type.decls[0].coord.line, 9) class TestCParser_whole_code(TestCParser_base): |