fix parameter names being taken from first declaration not currently parse declaration
[cparser] / parser.c
index c99734f..0cd0716 100644 (file)
--- a/parser.c
+++ b/parser.c
@@ -1315,6 +1315,10 @@ void parse_init_declarators(const declaration_specifiers_t *specifiers)
                        if(declaration->initializer != NULL) {
                                parser_error_multiple_definition(declaration, ndeclaration);
                        }
+                       if(ndeclaration != declaration) {
+                               memcpy(&declaration->context, &ndeclaration->context,
+                                      sizeof(declaration->context));
+                       }
 
                        int         top          = environment_top();
                        context_t  *last_context = context;