diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/c_files/c11.c | 1 | ||||
-rw-r--r-- | tests/test_c_generator.py | 1 | ||||
-rwxr-xr-x | tests/test_c_parser.py | 7 |
3 files changed, 8 insertions, 1 deletions
diff --git a/tests/c_files/c11.c b/tests/c_files/c11.c index 1c7ec08..ff11162 100644 --- a/tests/c_files/c11.c +++ b/tests/c_files/c11.c @@ -33,6 +33,7 @@ _Noreturn void func(void) int main() { _Static_assert(sizeof(flag) == sizeof(flag2), "Unexpected size difference"); + _Static_assert(sizeof(flag) == sizeof(flag2)); static_assert(sizeof(flag) == sizeof(flag2), "Unexpected size difference"); static_assert(sizeof(flag) == sizeof(flag3), "Unexpected size difference"); static_assert(sizeof(flag) == sizeof(flag4), "Unexpected size difference"); diff --git a/tests/test_c_generator.py b/tests/test_c_generator.py index a855e0b..4436a43 100644 --- a/tests/test_c_generator.py +++ b/tests/test_c_generator.py @@ -458,6 +458,7 @@ class TestCtoC(unittest.TestCase): def test_static_assert(self): self._assert_ctoc_correct('_Static_assert(sizeof(int) == sizeof(int), "123");') self._assert_ctoc_correct('int main() { _Static_assert(sizeof(int) == sizeof(int), "123"); } ') + self._assert_ctoc_correct('_Static_assert(sizeof(int) == sizeof(int));') def test_reduce_parentheses_binaryops(self): c1 = 'int x = a + b + c + d;'; diff --git a/tests/test_c_parser.py b/tests/test_c_parser.py index 5b9d916..e83bd7d 100755 --- a/tests/test_c_parser.py +++ b/tests/test_c_parser.py @@ -43,7 +43,10 @@ def expand_decl(decl): elif typ == Alignas: return ['Alignas', expand_init(decl.alignment)] elif typ == StaticAssert: - return ['StaticAssert', decl.cond.value, decl.message.value] + if decl.message: + return ['StaticAssert', decl.cond.value, decl.message.value] + else: + return ['StaticAssert', decl.cond.value] else: nested = expand_decl(decl.type) @@ -1644,11 +1647,13 @@ class TestCParser_fundamentals(TestCParser_base): int factorial(int p) { _Static_assert(2, "456"); + _Static_assert(3); } ''') self.assertEqual(expand_decl(f1.ext[0]), ['StaticAssert', '1', '"123"']) self.assertEqual(expand_decl(f1.ext[1].body.block_items[0]), ['StaticAssert', '2', '"456"']) + self.assertEqual(expand_decl(f1.ext[1].body.block_items[2]), ['StaticAssert', '3']) def test_unified_string_literals(self): # simple string, for reference |