summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rwxr-xr-xtests/test_c_parser.py21
1 files changed, 18 insertions, 3 deletions
diff --git a/tests/test_c_parser.py b/tests/test_c_parser.py
index 492cbd1..40b53af 100755
--- a/tests/test_c_parser.py
+++ b/tests/test_c_parser.py
@@ -547,15 +547,30 @@ class TestCParser_fundamentals(TestCParser_base):
def test_atomic_specifier(self):
self.assertEqual(self.get_decl('_Atomic(int) ai;'),
- ['Decl',
- ['_Atomic'],
+ ['Decl', ['_Atomic'],
'ai',
['TypeDecl', ['IdentifierType', ['int']]]])
self.assertEqual(self.get_decl('_Atomic(int*) ai;'),
['Decl',
'ai',
- ['TypeDecl', ['PtrDecl', ['_Atomic'], ['IdentifierType', ['int']]]]])
+ ['PtrDecl', ['_Atomic'], ['TypeDecl', ['IdentifierType', ['int']]]]])
+
+ self.assertEqual(self.get_decl('_Atomic(_Atomic(int)*) aai;'),
+ ['Decl', ['_Atomic'],
+ 'aai',
+ ['PtrDecl', ['_Atomic'], ['TypeDecl', ['IdentifierType', ['int']]]]])
+
+ # Multiple declarations with _Atomic(...)
+ s = '_Atomic(int) foo, bar;'
+ self.assertEqual(self.get_decl(s, 0),
+ ['Decl', ['_Atomic'],
+ 'foo',
+ ['TypeDecl', ['IdentifierType', ['int']]]])
+ self.assertEqual(self.get_decl(s, 1),
+ ['Decl', ['_Atomic'],
+ 'bar',
+ ['TypeDecl', ['IdentifierType', ['int']]]])
def test_sizeof(self):
e = """