On Wed, 23 Aug 2017, Richard Biener wrote: > On Wed, 23 Aug 2017, Arnaud Charlet wrote: > > > Richard, > > > > > When enabling free-lang-data the lang_hooks.decl_printable_name hook > > > gets reset. The following patch reduces the noise from that by > > > using verbosity 1 (do not print arguments) from the places where > > > we dump the function name and then follow by arguments manually. > > > > > > This makes dumping consistent with calls in the IL so you can > > > cut&paste & search in dumps easier (Ada dumps had case differences > > > for example). This requires a few changes in the testsuite dump scans > > > (but not too many to make the change controversical). > > > > > > Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. > > > > > > Richard. > > > > > > 2017-08-23 Richard Biener <rguent...@suse.de> > > > > > > * function.c (fndecl_name): Use verbosity 1 (no arguments) for > > > lang_hooks.decl_printable_name. > > > * print-rtl-function.c (print_rtx_function): Likewise. > > > * tree-pretty-print.c (dump_function_header): Likewise. > > > > > > * g++.dg/cpp1y/constexpr-instantiate.C: Adjust. > > > * g++.dg/tree-ssa/pr45605.C: Likewise. > > > * gnat.dg/noinline2.ad: Likewise.b > > > * gnat.dg/renaming6.ad: Likewise.b > > > * gnat.dg/renaming6.ad: Likewise.s > > > * gnat.dg/specs/noinline3.ad: Likewise.s > > > > You have typos in the a bove changelog BTW, the "b" and "s" should be > > part of the filenames (e.g. gnat.dg/noinline2.adb: Likewise.) > > Ooops. Will fix. > > > I do not understand the changes in the ada testsuite: cana you explain why > > you renames some variables? > > Because the scan for not 'j' now breaks as the dump contains get_j > vs Get_J before. Rather than changing it for expected n times > I chose to rename the variable that shouldn't appear.
So it is static const char * gnat_printable_name (tree decl, int verbosity) { const char *coded_name = IDENTIFIER_POINTER (DECL_NAME (decl)); char *ada_name = (char *) ggc_alloc_atomic (strlen (coded_name) * 2 + 60); __gnat_decode (coded_name, ada_name, 0); if (verbosity == 2 && !DECL_IS_BUILTIN (decl)) { Set_Identifier_Casing (ada_name, DECL_SOURCE_FILE (decl)); return ggc_strdup (Name_Buffer); this unexpected behavior with verbosity == 2, the docs say "2: and any other information that might be interesting, such as function parameter types in C++." -- that doesn't suggest to change casing (we dump variable names with verbosity 1 so you see 'j' instead of correct(?) 'J'). Thus, this makes things more consistent in dumps.