diff options
| -rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/cp/decl.c | 3 | ||||
| -rw-r--r-- | gcc/cp/typeck.c | 6 |
3 files changed, 9 insertions, 6 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 60c9b8b..5160b3c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2000-07-02 Mark Mitchell <mark@codesourcery.com> + + * decl.c (duplicate_decls): Preserve DECL_ORIGINAL_TYPE for a + TYPE_DECL. + * typeck.c (commonparms): Remove obstack manipulations. + 2000-07-01 Benjamin Chelf <chelf@codesourcery.com> * Make-lang.in (cc1plus$(exeext)): Added c-semantics.o. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 9110b80..af3f84b 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -3487,6 +3487,8 @@ duplicate_decls (newdecl, olddecl) CLASSTYPE_FRIEND_CLASSES (newtype) = CLASSTYPE_FRIEND_CLASSES (oldtype); } + + DECL_ORIGINAL_TYPE (newdecl) = DECL_ORIGINAL_TYPE (olddecl); } /* Copy all the DECL_... slots specified in the new decl @@ -8033,7 +8035,6 @@ destroy_local_var (decl) } - /* Finish processing of a declaration; install its line number and initial value. If the length of an array type is not known before, diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 794b01a..cfa2c34 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -263,7 +263,6 @@ commonparms (p1, p2) tree oldargs = p1, newargs, n; int i, len; int any_change = 0; - char *first_obj = (char *) oballoc (0); len = list_length (p1); newargs = tree_last (p1); @@ -312,10 +311,7 @@ commonparms (p1, p2) TREE_VALUE (n) = TREE_VALUE (p1); } if (! any_change) - { - obfree (first_obj); - return oldargs; - } + return oldargs; return newargs; } |
