debug/103047 - argument order of inlined functions

The inliner puts variables for parameters of the inlined functions
in the inline scope in reverse order.  The following reverses them
again so that we get consistent ordering between the
DW_TAG_subprogram DW_TAG_formal_parameter and the
DW_TAG_inlined_subroutine DW_TAG_formal_parameter set.

I failed to create a testcase with regexps since the inline
instances have just abstract origins and so I can't match them up.

	PR debug/103047
	* tree-inline.cc (initialize_inlined_parameters): Reverse
	the decl chain of inlined parameters.
This commit is contained in:
Richard Biener 2024-01-26 15:11:47 +01:00
parent 5b393ac7f1
commit b702dc9802

View file

@ -3684,6 +3684,10 @@ initialize_inlined_parameters (copy_body_data *id, gimple *stmt,
setup_one_parameter (id, p, static_chain, fn, bb, &vars);
}
/* Reverse so the variables appear in the correct order in DWARF
debug info. */
vars = nreverse (vars);
declare_inline_vars (id->block, vars);
}