aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2000-09-04 11:18:03 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2000-09-04 11:18:03 +0000
commit678048254b98d983be685f344e25575c2c23dc8d (patch)
tree9affa3fed9ac1d02249759ec697d8104c5fb1c39 /gcc/cp
parentc6b08b3ea30e2f2e42b848128781dddcc8c9e17e (diff)
downloadgcc-678048254b98d983be685f344e25575c2c23dc8d.zip
gcc-678048254b98d983be685f344e25575c2c23dc8d.tar.gz
gcc-678048254b98d983be685f344e25575c2c23dc8d.tar.bz2
* init.c (resolve_offset_ref): Deal with TEMPLATE_ID_EXPR.
From-SVN: r36136
Diffstat (limited to 'gcc/cp')
-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)))