public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-8486] debug/103047 - argument order of inlined functions
@ 2024-01-29  7:47 Richard Biener
  0 siblings, 0 replies; only message in thread
From: Richard Biener @ 2024-01-29  7:47 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:b702dc980215074a06535e3aa52a766bef38af4c

commit r14-8486-gb702dc980215074a06535e3aa52a766bef38af4c
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Jan 26 15:11:47 2024 +0100

    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.

Diff:
---
 gcc/tree-inline.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gcc/tree-inline.cc b/gcc/tree-inline.cc
index 1a2541ad9523..75c10eb7dfc2 100644
--- a/gcc/tree-inline.cc
+++ b/gcc/tree-inline.cc
@@ -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);
 }

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-01-29  7:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-29  7:47 [gcc r14-8486] debug/103047 - argument order of inlined functions Richard Biener

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).