From: Martin Liska Date: Mon, 23 Jan 2017 12:24:54 +0000 (+0100) Subject: Do not declare artificial variables in tree-profile.c to have a definition (PR lto... X-Git-Tag: releases/gcc-5.5.0~567 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d3c7638bc94647fb7392c02c1415c59de393941e;p=thirdparty%2Fgcc.git Do not declare artificial variables in tree-profile.c to have a definition (PR lto/69188). 2017-01-23 Martin Liska Backport from mainline 2017-01-20 Martin Liska PR lto/69188 * tree-profile.c (init_ic_make_global_vars): Do not call finalize_decl. (gimple_init_gcov_profiler): Likewise. 2017-01-23 Martin Liska Backport from mainline 2017-01-20 Martin Liska PR lto/69188 * gcc.dg/lto/pr69188_0.c: New test. * gcc.dg/lto/pr69188_1.c: New test. From-SVN: r244797 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bdfe65c0e838..048884f452b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2017-01-23 Martin Liska + + Backport from mainline + 2017-01-20 Martin Liska + + PR lto/69188 + * tree-profile.c (init_ic_make_global_vars): Do not call + finalize_decl. + (gimple_init_gcov_profiler): Likewise. + 2017-01-21 Gerald Pfeifer Backport from mainline diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 26dc594ecd2b..2765209dbda6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2017-01-23 Martin Liska + + Backport from mainline + 2017-01-20 Martin Liska + + PR lto/69188 + * gcc.dg/lto/pr69188_0.c: New test. + * gcc.dg/lto/pr69188_1.c: New test. + 2017-01-20 Martin Liska Backport from mainline diff --git a/gcc/testsuite/gcc.dg/lto/pr69188_0.c b/gcc/testsuite/gcc.dg/lto/pr69188_0.c new file mode 100644 index 000000000000..178a8db9d747 --- /dev/null +++ b/gcc/testsuite/gcc.dg/lto/pr69188_0.c @@ -0,0 +1,7 @@ +/* PR ipa/69188 */ +/* { dg-lto-do link } */ +/* { dg-lto-options { { -flto -O0 -fprofile-generate } } } */ + +void fn1(void) +{ +} diff --git a/gcc/testsuite/gcc.dg/lto/pr69188_1.c b/gcc/testsuite/gcc.dg/lto/pr69188_1.c new file mode 100644 index 000000000000..3ed9d5560c6f --- /dev/null +++ b/gcc/testsuite/gcc.dg/lto/pr69188_1.c @@ -0,0 +1,10 @@ +/* PR ipa/69188 */ +/* { dg-options "-flto -O1 -fprofile-generate" } */ + +extern void fn1(void); + +int main() { + fn1(); + return 0; +} + diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c index 563610b3d630..51fcf0ac7d7d 100644 --- a/gcc/tree-profile.c +++ b/gcc/tree-profile.c @@ -120,8 +120,6 @@ init_ic_make_global_vars (void) if (targetm.have_tls) set_decl_tls_model (ic_void_ptr_var, decl_default_tls_model (ic_void_ptr_var)); - varpool_node::finalize_decl (ic_void_ptr_var); - gcov_type_ptr = build_pointer_type (get_gcov_type ()); ic_gcov_type_ptr_var @@ -138,8 +136,6 @@ init_ic_make_global_vars (void) DECL_INITIAL (ic_gcov_type_ptr_var) = NULL; if (targetm.have_tls) set_decl_tls_model (ic_gcov_type_ptr_var, decl_default_tls_model (ic_gcov_type_ptr_var)); - - varpool_node::finalize_decl (ic_gcov_type_ptr_var); } /* Create the type and function decls for the interface with gcov. */