diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c99b9a01fcb66051340432f5aadf63e07581bc26..2a5d960278d2a7b903c9b302a6eb1329b252299a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +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. diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 097deb7028b483b755c94f27aef7c663895b408c..91449c1732056d38f4a410c1e108f5ddc2e1c1ef 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)))