diff options
author | Martin Liska <mliska@suse.cz> | 2019-11-07 10:44:21 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2019-11-07 09:44:21 +0000 |
commit | e9d01715bd7e033eacfbadbfab5f1f206221305c (patch) | |
tree | e04ddcb405fc2db0122fff40f8eab3da24a3c94f | |
parent | 0048539a2a48b6c10bbb0ba0607f57cd16c935aa (diff) | |
download | gcc-e9d01715bd7e033eacfbadbfab5f1f206221305c.zip gcc-e9d01715bd7e033eacfbadbfab5f1f206221305c.tar.gz gcc-e9d01715bd7e033eacfbadbfab5f1f206221305c.tar.bz2 |
Clear version_info_node in delete_function_version.
2019-11-07 Martin Liska <mliska@suse.cz>
PR c++/92354
* cgraph.c (delete_function_version): Clear global
variable version_info_node if equal to deleted
function.
2019-11-07 Martin Liska <mliska@suse.cz>
PR c++/92354
* g++.target/i386/pr92354.C: New test.
From-SVN: r277913
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cgraph.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.target/i386/pr92354.C | 8 |
4 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 94f72dd..c581816 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2019-11-07 Martin Liska <mliska@suse.cz> + PR c++/92354 + * cgraph.c (delete_function_version): Clear global + variable version_info_node if equal to deleted + function. + +2019-11-07 Martin Liska <mliska@suse.cz> + * fold-const.c (operand_compare::operand_equal_p): Add comparison of CONSTRUCTOR_NO_CLEARING. (operand_compare::hash_operand): Likewise. diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 6992096..896a3fc 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -197,6 +197,9 @@ delete_function_version (cgraph_function_version_info *decl_v) if (decl_v == NULL) return; + if (version_info_node == decl_v) + version_info_node = NULL; + if (decl_v->prev != NULL) decl_v->prev->next = decl_v->next; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c6d9072..08f290b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-11-07 Martin Liska <mliska@suse.cz> + + PR c++/92354 + * g++.target/i386/pr92354.C: New test. + 2019-11-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> * gcc.dg/tree-ssa/pr92163.c: Add dg-require-effective-target fopenacc. diff --git a/gcc/testsuite/g++.target/i386/pr92354.C b/gcc/testsuite/g++.target/i386/pr92354.C new file mode 100644 index 0000000..0f48fb7 --- /dev/null +++ b/gcc/testsuite/g++.target/i386/pr92354.C @@ -0,0 +1,8 @@ +/* PR c++/92354 */ +/* { dg-do compile } */ +/* { dg-require-ifunc "" } */ +/* { dg-options "--param ggc-min-heapsize=0" } */ + +__attribute__ ((target ("default"))) void f (); +__attribute__ ((target ("sse"))) void f (); +__attribute__ ((target ("default"))) void f (); |