diff options
author | lerdsuwa <lerdsuwa@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-19 04:06:51 +0000 |
---|---|---|
committer | lerdsuwa <lerdsuwa@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-19 04:06:51 +0000 |
commit | ce394707032867ede924a11fabab8836ec3a9c67 (patch) | |
tree | 2651f744840bd6d5ea8b45976f756323300045d4 /gcc/cp | |
parent | 07cf116c2ac5213d39f52b27b34a55f8abc524e9 (diff) | |
download | gcc-ce394707032867ede924a11fabab8836ec3a9c67.tar.gz |
* optimize.c (expand_call_inline): Don't walk subtrees of type
nodes.
* g++.old-deja/g++.other/inline19.c: Remove XFAIL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39873 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/optimize.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0f94cec1354..cf3d059f82f 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 9d700f60904..115b4670adb 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; |