diff --git a/regression/ansi-c/KnR3/test.desc b/regression/ansi-c/KnR3/test.desc index fc2b1874059..466da18b2b5 100644 --- a/regression/ansi-c/KnR3/test.desc +++ b/regression/ansi-c/KnR3/test.desc @@ -1,4 +1,4 @@ -KNOWNBUG +CORE main.c ^EXIT=0$ diff --git a/src/ansi-c/parser.y b/src/ansi-c/parser.y index bfb853f67d8..ec697346098 100644 --- a/src/ansi-c/parser.y +++ b/src/ansi-c/parser.y @@ -3134,7 +3134,7 @@ parameter_postfixing_abstract_declarator: id2string(PARSER.current_scope().last_declarator)+"::"); } parameter_type_list - ')' + ')' KnR_parameter_header_opt { $$=$1; set($$, ID_code); @@ -3142,6 +3142,12 @@ parameter_postfixing_abstract_declarator: stack_type($$).add(ID_parameters).get_sub(). swap((irept::subt &)(stack_type($3).subtypes())); PARSER.pop_scope(); + + if(stack($5).is_not_nil()) + { + adjust_KnR_parameters(stack($$).add(ID_parameters), stack($5)); + stack($$).set(ID_C_KnR, true); + } } ;