diff options
author | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-07-10 06:32:58 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-07-10 06:32:58 +0000 |
commit | 089acd579b8079afb590c101117ea76be13c7093 (patch) | |
tree | 5051abc8a317f134f9e8094f036b9e65117db982 /gcc | |
parent | 7b019c1999f0d8320fe9c1a304e1fdde48d4e278 (diff) | |
download | gcc-089acd579b8079afb590c101117ea76be13c7093.zip gcc-089acd579b8079afb590c101117ea76be13c7093.tar.gz gcc-089acd579b8079afb590c101117ea76be13c7093.tar.bz2 |
decl.c (pushtag): Don't put local classes in template functions on the local_classes list.
* decl.c (pushtag): Don't put local classes in template functions
on the local_classes list.
* decl2.c (get_guard): Add missing return for old ABI local
variable case.
From-SVN: r34937
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/cp/decl.c | 3 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 1 |
3 files changed, 13 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0caff7f..6bc9696 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,15 @@ 2000-07-09 Mark Mitchell <mark@codesourcery.com> + * decl.c (pushtag): Don't put local classes in template functions + on the local_classes list. + +2000-07-04 Scott Snyder <snyder@fnal.gov> + + * decl2.c (get_guard): Add missing return for old ABI local + variable case. + +2000-07-09 Mark Mitchell <mark@codesourcery.com> + * cp-tree.h (char_type_p): New function. * decl.c (init_decl_processing): Don't initialize signed_wchar_type_node or unsigned_wchar_type_node. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index ee0d058..b5eddde 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -2899,7 +2899,8 @@ pushtag (name, type, globalize) way. (It's otherwise tricky to find a member function definition it's only pointed to from within a local class.) */ if (TYPE_CONTEXT (type) - && TREE_CODE (TYPE_CONTEXT (type)) == FUNCTION_DECL) + && TREE_CODE (TYPE_CONTEXT (type)) == FUNCTION_DECL + && !processing_template_decl) VARRAY_PUSH_TREE (local_classes, type); if (!uses_template_parms (type)) diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index bbc66ad..600cfcef 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -2874,6 +2874,7 @@ get_guard (decl) { guard = get_temp_name (integer_type_node); rest_of_decl_compilation (guard, NULL_PTR, 0, 0); + return guard; } if (!flag_new_abi) |