aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/init.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index c99b9a0..2a5d960 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,9 @@
2000-09-04 Nathan Sidwell <nathan@codesourcery.com>
+ * init.c (resolve_offset_ref): Deal with TEMPLATE_ID_EXPR.
+
+2000-09-04 Nathan Sidwell <nathan@codesourcery.com>
+
* pt.c (lookup_template_class): Remove abort.
* tree.c (get_type_decl): Allow error_mark_node.
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 097deb7..91449c1 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -1812,7 +1812,7 @@ resolve_offset_ref (exp)
base = current_class_ref;
}
- if (BASELINK_P (member))
+ if (BASELINK_P (member) || TREE_CODE (member) == TEMPLATE_ID_EXPR)
return build_unary_op (ADDR_EXPR, exp, 0);
if (TREE_CODE (TREE_TYPE (member)) == METHOD_TYPE)
@@ -1824,7 +1824,7 @@ resolve_offset_ref (exp)
return build_unary_op (ADDR_EXPR, exp, 0);
}
-
+
if ((TREE_CODE (member) == VAR_DECL
&& ! TYPE_PTRMEMFUNC_P (TREE_TYPE (member))
&& ! TYPE_PTRMEM_P (TREE_TYPE (member)))