summaryrefslogtreecommitdiffstats
path: root/gcc/cp
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/cp-tree.h8
-rw-r--r--gcc/cp/pt.c5
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;
OpenPOWER on IntegriCloud