]> git.draconx.ca Git - cdecl99.git/blobdiff - tests/decl-good.at
libcdecl: Fix parsing of int (x(*)()) etc.
[cdecl99.git] / tests / decl-good.at
index bb3c16806a8648584d399e61143f2a7f0d007319..f3522559f0217e6113fe9704a63f1946b9e22e53 100644 (file)
@@ -136,6 +136,58 @@ SIMPLE_DECLS(
   [[int (int, b, ...)],  [type function (int, b, ...) returning int]],
   [[int (a, int, ...)],  [type function (a, int, ...) returning int]])
 
+SIMPLE_DECLS(
+  [[[int f(int (*)[])]],
+    [declare f as function (pointer to array of int) returning int]],
+  [[[int f(int (*)[][1])]],
+    [declare f as function (pointer to array of array 1 of int) returning int]],
+  [[[int f(int (*)())]],
+    [declare f as function (pointer to function returning int) returning int]],
+  [[[int f(a (*)[])]],
+    [declare f as function (pointer to array of a) returning int]],
+  [[[int f(a (*)[][1])]],
+    [declare f as function (pointer to array of array 1 of a) returning int]],
+  [[[int f(a (*)())]],
+    [declare f as function (pointer to function returning a) returning int]],
+  [[[int (int (*)[])]],
+    [type function (pointer to array of int) returning int]],
+  [[[int (int (*)[][1])]],
+    [type function (pointer to array of array 1 of int) returning int]],
+  [[[int (int (*)())]],
+    [type function (pointer to function returning int) returning int]],
+  [[[int (a (*)[])]],
+    [type function (pointer to array of a) returning int]],
+  [[[int (a (*)[][1])]],
+    [type function (pointer to array of array 1 of a) returning int]],
+  [[[int (a (*)())]],
+    [type function (pointer to function returning a) returning int]])
+
+SIMPLE_DECLS_EXPLAIN(
+  [[[int f(int ([]))]],
+    [declare f as function (array of int) returning int],
+    [[int f(int [])]]],
+  [[[int f(a ([]))]],
+    [declare f as function (array of a) returning int],
+    [[int f(a [])]]],
+  [[[int f(int (()))]],
+    [declare f as function (function returning int) returning int],
+    [[int f(int ())]]],
+  [[[int f(a (()))]],
+    [declare f as function (function returning a) returning int],
+    [[int f(a ())]]],
+  [[[int (int ([]))]],
+    [type function (array of int) returning int],
+    [[int (int [])]]],
+  [[[int (a ([]))]],
+    [type function (array of a) returning int],
+    [[int (a [])]]],
+  [[[int (int (()))]],
+    [type function (function returning int) returning int],
+    [[int (int ())]]],
+  [[[int (a (()))]],
+    [type function (function returning a) returning int],
+    [[int (a ())]]])
+
 SIMPLE_DECLS_EXPLAIN(
   [[int ((int))], [type function (int) returning int], [int (int)]],
   [[int (x(int))], [declare x as function (int) returning int], [int x(int)]],