Commit 4cd5658b by Markus Trippelsdorf Committed by Markus Trippelsdorf

PR ipa/61998 Fix crash -Wsuggest-final-types crash

-Wsuggest-final-types crashes when used on mininal testcases.
Fix by bailing out early when odr_types_ptr is NULL in ipa_devirt()

2014-09-19  Markus Trippelsdorf  <markus@trippelsdorf.de>

        PR ipa/61998
        * ipa-devirt.c (ipa_devirt): Bail out if odr_types_ptr is NULL.

2014-09-19  Markus Trippelsdorf  <markus@trippelsdorf.de>

        PR ipa/61998
        * g++.dg/warn/Wsuggest-final-2.C: New testcase.

From-SVN: r215392
parent 5fd4bc96
2014-09-19 Markus Trippelsdorf <markus@trippelsdorf.de>
PR ipa/61998
* ipa-devirt.c (ipa_devirt): Bail out if odr_types_ptr is NULL.
2014-09-19 James Greenhalgh <james.greenhalgh@arm.com> 2014-09-19 James Greenhalgh <james.greenhalgh@arm.com>
* doc/md.texi (Modifiers): Consistently use "read/write" * doc/md.texi (Modifiers): Consistently use "read/write"
...@@ -3952,6 +3952,9 @@ ipa_devirt (void) ...@@ -3952,6 +3952,9 @@ ipa_devirt (void)
int nmultiple = 0, noverwritable = 0, ndevirtualized = 0, nnotdefined = 0; int nmultiple = 0, noverwritable = 0, ndevirtualized = 0, nnotdefined = 0;
int nwrong = 0, nok = 0, nexternal = 0, nartificial = 0; int nwrong = 0, nok = 0, nexternal = 0, nartificial = 0;
if (!odr_types_ptr)
return 0;
/* We can output -Wsuggest-final-methods and -Wsuggest-final-types warnings. /* We can output -Wsuggest-final-methods and -Wsuggest-final-types warnings.
This is implemented by setting up final_warning_records that are updated This is implemented by setting up final_warning_records that are updated
by get_polymorphic_call_targets. by get_polymorphic_call_targets.
......
2014-09-19 Markus Trippelsdorf <markus@trippelsdorf.de>
PR ipa/61998
* g++.dg/warn/Wsuggest-final-2.C: New testcase.
2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org> 2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org>
PR fortran/63152 PR fortran/63152
......
// PR ipa/61998
// { dg-do compile }
// { dg-options "-O2 -Wsuggest-final-types" }
int main () {}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment