cpp: fix relative includes
[m6w6/ext-psi] / src / parser_proc_grammar.y
index a4736937ac631c92f4aab9fcec775501e02e7b19..4b099632ca04385684b975c305dc05d69378739b 100644 (file)
@@ -559,7 +559,13 @@ cpp_macro_sig[sig]:
        %empty {
        $sig = psi_plist_init(NULL);
 }
        %empty {
        $sig = psi_plist_init(NULL);
 }
+|      ELLIPSIS {
+       $sig = psi_plist_init(NULL); /* FIXME */
+}
 |      cpp_macro_sig_args
 |      cpp_macro_sig_args
+|      cpp_macro_sig_args[args] COMMA ELLIPSIS {
+       $sig = $args;
+}
 ;
 
 cpp_macro_sig_args[args]:
 ;
 
 cpp_macro_sig_args[args]:
@@ -1458,6 +1464,9 @@ array_size[as]:
        %empty {
        $as = 0;
 }
        %empty {
        $as = 0;
 }
+|      LBRACKET RBRACKET {
+       $as = 0;
+}
 |      LBRACKET NUMBER RBRACKET {
        $as = atol($NUMBER->text);
 }
 |      LBRACKET NUMBER RBRACKET {
        $as = atol($NUMBER->text);
 }
@@ -1480,14 +1489,19 @@ pointers[p]:
 ;
 
 asterisks[a]:
 ;
 
 asterisks[a]:
-       ASTERISK {
+       asterisk {
        $a = 1;
 }
        $a = 1;
 }
-|      asterisks[a_] ASTERISK {
+|      asterisks[a_] asterisk {
        $a = $a_ + 1;
 }
 ;
 
        $a = $a_ + 1;
 }
 ;
 
+asterisk:
+       ASTERISK
+|      ASTERISK CONST
+;
+
 /*
  *
  * impl
 /*
  *
  * impl