diff options
author | Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> | 2001-02-19 04:06:51 +0000 |
---|---|---|
committer | Kriang Lerdsuwanakij <lerdsuwa@gcc.gnu.org> | 2001-02-19 04:06:51 +0000 |
commit | 612164eb464933b98366aeb4c4cf2b59861d4607 (patch) | |
tree | 2651f744840bd6d5ea8b45976f756323300045d4 /gcc | |
parent | 3d1c8788547414de4fefbec44a1c014b77781fcf (diff) | |
download | gcc-612164eb464933b98366aeb4c4cf2b59861d4607.zip gcc-612164eb464933b98366aeb4c4cf2b59861d4607.tar.gz gcc-612164eb464933b98366aeb4c4cf2b59861d4607.tar.bz2 |
optimize.c (expand_call_inline): Don't walk subtrees of type nodes.
* optimize.c (expand_call_inline): Don't walk subtrees of type
nodes.
* g++.old-deja/g++.other/inline19.c: Remove XFAIL.
From-SVN: r39873
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/optimize.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/inline19.C | 2 |
4 files changed, 16 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0f94cec..cf3d059 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2001-02-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + * optimize.c (expand_call_inline): Don't walk subtrees of type + nodes. + 2001-02-18 Mark Mitchell <mark@codesourcery.com> * class.c (add_vcall_offset_vtbl_entries_1): Only add one entry diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c index 9d700f6..115b467 100644 --- a/gcc/cp/optimize.c +++ b/gcc/cp/optimize.c @@ -673,6 +673,12 @@ expand_call_inline (tp, walk_subtrees, data) return NULL_TREE; } + if (TREE_CODE_CLASS (TREE_CODE (t)) == 't') + /* Because types were not copied in copy_body, CALL_EXPRs beneath + them should not be expanded. This can happen if the type is a + dynamic array type, for example. */ + *walk_subtrees = 0; + /* From here on, we're only interested in CALL_EXPRs. */ if (TREE_CODE (t) != CALL_EXPR) return NULL_TREE; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ff6cea8..998ef71 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2001-02-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + * g++.old-deja/g++.other/inline19.c: Remove XFAIL. + 2001-02-16 Gabriel Dos Reis <gdr@codesourcery.com> * g++.old-deja/g++.other/decl9.C: New test. diff --git a/gcc/testsuite/g++.old-deja/g++.other/inline19.C b/gcc/testsuite/g++.old-deja/g++.other/inline19.C index 8770eb3..c27aa53 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/inline19.C +++ b/gcc/testsuite/g++.old-deja/g++.other/inline19.C @@ -2,7 +2,7 @@ // Origin: Scott Snyder <snyder@fnal.gov> via PR 1733. // Special g++ Options: -O1 // -// crash test - XFAIL *-*-* +// crash test struct TBtItem { |