+2012-07-06  Tom Tromey  <tromey@redhat.com>
+
+       * c-exp.y (func_mod, direct_abs_decl, abs_decl, ptr_operator):
+       Remove %type.
+
 2012-07-06  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
        * c-lang.c (c_printstr): Remove ununsed variable WIDTH.
 
 /* %type <bval> block */
 
 /* Fancy type parsing.  */
-%type <voidval> func_mod direct_abs_decl abs_decl ptr_operator
 %type <tval> ptype
 %type <lval> array_mod
 %type <tval> conversion_type_id
                ptr_operator '*'
                        { insert_type (tp_pointer); }
                const_or_volatile_or_space_identifier
-                       { $$ = 0; }
        |       '*' 
                        { insert_type (tp_pointer); }
                const_or_volatile_or_space_identifier
-                       { $$ = 0; }
        |       '&'
-                       { insert_type (tp_reference); $$ = 0; }
+                       { insert_type (tp_reference); }
        |       '&' ptr_operator
-                       { insert_type (tp_reference); $$ = 0; }
+                       { insert_type (tp_reference); }
        ;
 
 abs_decl:      ptr_operator direct_abs_decl
        ;
 
 direct_abs_decl: '(' abs_decl ')'
-                       { $$ = $2; }
        |       direct_abs_decl array_mod
                        {
                          push_type_int ($2);
                        {
                          push_type_int ($1);
                          push_type (tp_array);
-                         $$ = 0;
                        }
 
        |       direct_abs_decl func_mod
        ;
 
 func_mod:      '(' ')'
-                       { $$ = 0; }
        |       '(' nonempty_typelist ')'
-                       { free ($2); $$ = 0; }
+                       { free ($2); }
        ;
 
 /* We used to try to recognize pointer to member types here, but