From 882e337b65a23a58ce2600f371704c186720b76d Mon Sep 17 00:00:00 2001 From: Volker Reichelt Date: Tue, 1 Jan 2008 23:08:05 +0000 Subject: [PATCH] re PR libmudflap/26442 (ICE on valid unreachable code (and no name) when compiling with -fmudflap) PR libmudflap/26442 * tree-mudflap.c (mx_register_decls): Guard warning by !DECL_ARTIFICIAL check. * testsuite/libmudflap.c++/pass60-frag.cxx: New test. From-SVN: r131249 --- gcc/ChangeLog | 6 ++++++ gcc/tree-mudflap.c | 7 +++++-- libmudflap/ChangeLog | 5 +++++ libmudflap/testsuite/libmudflap.c++/pass60-frag.cxx | 13 +++++++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 libmudflap/testsuite/libmudflap.c++/pass60-frag.cxx diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 37c9a5282fa..ce2f258a9b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-01-01 Volker Reichelt + + PR libmudflap/26442 + * tree-mudflap.c (mx_register_decls): Guard warning by + !DECL_ARTIFICIAL check. + 2008-01-01 Jakub Jelinek * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si, diff --git a/gcc/tree-mudflap.c b/gcc/tree-mudflap.c index 950ad8c2fd5..4b9c11830ba 100644 --- a/gcc/tree-mudflap.c +++ b/gcc/tree-mudflap.c @@ -1045,8 +1045,11 @@ mx_register_decls (tree decl, tree *stmt_list) /* Add the __mf_register call at the current appending point. */ if (tsi_end_p (initially_stmts)) - warning (0, "mudflap cannot track %qs in stub function", - IDENTIFIER_POINTER (DECL_NAME (decl))); + { + if (!DECL_ARTIFICIAL (decl)) + warning (0, "mudflap cannot track %qs in stub function", + IDENTIFIER_POINTER (DECL_NAME (decl))); + } else { tsi_link_before (&initially_stmts, register_fncall, diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog index be52732ee76..081f14c2ed5 100644 --- a/libmudflap/ChangeLog +++ b/libmudflap/ChangeLog @@ -1,3 +1,8 @@ +2008-01-01 Volker Reichelt + + PR libmudflap/26442 + * testsuite/libmudflap.c++/pass60-frag.cxx: New test. + 2007-10-15 Maciej W. Rozycki * configure: Regenerate following changes to ../config/tls.m4. diff --git a/libmudflap/testsuite/libmudflap.c++/pass60-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass60-frag.cxx new file mode 100644 index 00000000000..35989d122b1 --- /dev/null +++ b/libmudflap/testsuite/libmudflap.c++/pass60-frag.cxx @@ -0,0 +1,13 @@ +// PR 26442 + +struct A +{ + A(); +}; + +int main() +{ + if (0) + A(); + return 0; +} -- 2.30.2