diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 72aa0513d96553e834c1ca624dec4c104cd68e3a..f75fcc20e73c7d9afe76776e3339f2d92acf92d5 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2011-11-07 Paolo Carlini <paolo.carlini@oracle.com> + + * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error + call in case COMPONENT_REF. + 2011-11-07 Jason Merrill <jason@redhat.com> Dodji Seketeli <dodji@redhat.com> diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index c8c8d91b930cb46f22cb02d253fb5f1b87b243e6..c4f4a941e7e4598fe36ee5a1334ec304465abddd 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -13894,14 +13894,12 @@ tsubst_copy_and_build (tree t, else if (TREE_CODE (member) == SCOPE_REF && TREE_CODE (TREE_OPERAND (member, 1)) == TEMPLATE_ID_EXPR) { - tree tmpl; - tree args; - /* Lookup the template functions now that we know what the scope is. */ - tmpl = TREE_OPERAND (TREE_OPERAND (member, 1), 0); - args = TREE_OPERAND (TREE_OPERAND (member, 1), 1); - member = lookup_qualified_name (TREE_OPERAND (member, 0), tmpl, + tree scope = TREE_OPERAND (member, 0); + tree tmpl = TREE_OPERAND (TREE_OPERAND (member, 1), 0); + tree args = TREE_OPERAND (TREE_OPERAND (member, 1), 1); + member = lookup_qualified_name (scope, tmpl, /*is_type_p=*/false, /*complain=*/false); if (BASELINK_P (member)) @@ -13915,7 +13913,7 @@ tsubst_copy_and_build (tree t, } else { - qualified_name_lookup_error (object_type, tmpl, member, + qualified_name_lookup_error (scope, tmpl, member, input_location); return error_mark_node; }