diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-31 03:47:22 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-31 03:47:22 +0000 |
commit | 79d65ad68a52450dba21668b3647419142a10045 (patch) | |
tree | abea7991ad3abebb58a9902efc8bf9ff97aa298b /gcc/cp | |
parent | 283a177b79fa703407dd7d1db704e47dc283d47e (diff) | |
download | ppe42-gcc-79d65ad68a52450dba21668b3647419142a10045.tar.gz ppe42-gcc-79d65ad68a52450dba21668b3647419142a10045.zip |
PR c++/57899
* cp-tree.h (struct saved_scope): Add x_local_specializations.
(local_specializations): New macro.
* pt.c (local_specializations): Remove variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207332 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/cp-tree.h | 8 | ||||
-rw-r--r-- | gcc/cp/pt.c | 5 |
3 files changed, 15 insertions, 5 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 625a880d551..223e1f3f661 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2014-01-30 Jason Merrill <jason@redhat.com> + + PR c++/57899 + * cp-tree.h (struct saved_scope): Add x_local_specializations. + (local_specializations): New macro. + * pt.c (local_specializations): Remove variable. + 2014-01-30 Richard Sandiford <rdsandiford@googlemail.com> PR c++/58708 diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 7f4649903fb..7681b27ca4d 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -1049,6 +1049,8 @@ struct GTY(()) saved_scope { cp_binding_level *class_bindings; cp_binding_level *bindings; + struct pointer_map_t *x_local_specializations; + struct saved_scope *prev; }; @@ -1098,6 +1100,12 @@ struct GTY(()) saved_scope { #define previous_class_level scope_chain->x_previous_class_level +/* A map from local variable declarations in the body of the template + presently being instantiated to the corresponding instantiated + local variables. */ + +#define local_specializations scope_chain->x_local_specializations + /* A list of private types mentioned, for deferred access checking. */ extern GTY(()) struct saved_scope *scope_chain; diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 4a5b6cc0684..981e2e0b2ed 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -78,11 +78,6 @@ static GTY(()) tree saved_access_scope; to the EXPR_STMT that is its result. */ static tree cur_stmt_expr; -/* A map from local variable declarations in the body of the template - presently being instantiated to the corresponding instantiated - local variables. */ -static struct pointer_map_t *local_specializations; - /* True if we've recursed into fn_type_unification too many times. */ static bool excessive_deduction_depth; |