2017-08-23 Richard Biener <rguenther@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.
+
+2017-08-23 Richard Biener <rguenther@suse.de>
+
PR lto/81940
* dwarf2out.c (dwarf2out_abstract_function): Handle LTO with
-g0 at compile-time.
{
if (fndecl == NULL)
return "(nofn)";
- return lang_hooks.decl_printable_name (fndecl, 2);
+ return lang_hooks.decl_printable_name (fndecl, 1);
}
/* Returns the name of function FN. */
tree fdecl = fn->decl;
- const char *dname = lang_hooks.decl_printable_name (fdecl, 2);
+ const char *dname = lang_hooks.decl_printable_name (fdecl, 1);
fprintf (outfile, "(function \"%s\"\n", dname);
2017-08-23 Richard Biener <rguenther@suse.de>
+ * 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
+
+2017-08-23 Richard Biener <rguenther@suse.de>
+
PR lto/81940
* g++.dg/lto/pr81940_0.C: New testcase.
template bool f<int>(int);
// Verify that the defintions of both f() and g() are emitted.
-// { dg-final { scan-tree-dump-times "\nconstexpr bool f\\\(" 1 "optimized" } }
-// { dg-final { scan-tree-dump-times "\nbool g\\\(" 1 "optimized" } }
+// { dg-final { scan-tree-dump-times ";; Function f" 1 "optimized" } }
+// { dg-final { scan-tree-dump-times ";; Function g" 1 "optimized" } }
/* We should devirtualize call to D::Run */
-/* { dg-final { scan-tree-dump-times "D::Run \\(" 1 "fre1" } } */
+/* { dg-final { scan-tree-dump-times "D::Run \\(" 3 "fre1" } } */
end Noinline2;
--- { dg-final { scan-tree-dump-times "noinline2.inner" 2 "optimized" } }
+-- { dg-final { scan-tree-dump-times "noinline2.inner" 4 "optimized" } }
function Get_J return Integer is
begin
- return J;
+ return X;
end;
procedure Set_J (Val : Integer) is
begin
- J := Val;
+ X := Val;
end;
end Renaming6;
-- { dg-final { scan-tree-dump-times "atomic_load" 2 "original" } }
-- { dg-final { scan-tree-dump-times "atomic_store" 2 "original" } }
--- { dg-final { scan-tree-dump-not "j" "original" } }
+-- { dg-final { scan-tree-dump-not "x" "original" } }
function Get_I return Integer;
procedure Set_I (Val : Integer);
- J : Integer renames I;
+ X : Integer renames I;
function Get_J return Integer;
procedure Set_J (Val : Integer);
package Noinline3 is new Noinline3_Pkg (0);
--- { dg-final { scan-tree-dump-times "noinline3.inner" 2 "optimized" } }
+-- { dg-final { scan-tree-dump-times "noinline3.inner" 4 "optimized" } }
struct cgraph_node *node = cgraph_node::get (fdecl);
struct function *fun = DECL_STRUCT_FUNCTION (fdecl);
- dname = lang_hooks.decl_printable_name (fdecl, 2);
+ dname = lang_hooks.decl_printable_name (fdecl, 1);
if (DECL_ASSEMBLER_NAME_SET_P (fdecl))
aname = (IDENTIFIER_POINTER