decl2.c (build_expr_from_tree, [...]): Build explicit TEMPLATE_ID_EXPR args.

* decl2.c (build_expr_from_tree, case METHOD_CALL_EXPR): Build
	explicit TEMPLATE_ID_EXPR args.
	(build_expr_from_tree, case CALL_EXPR): Likewise.

From-SVN: r35629
This commit is contained in:
Nathan Sidwell 2000-08-11 09:28:01 +00:00 committed by Nathan Sidwell
parent 9104081d78
commit fd037e0d44
2 changed files with 22 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2000-08-11 Nathan Sidwell <nathan@codesourcery.com>
* decl2.c (build_expr_from_tree, case METHOD_CALL_EXPR): Build
explicit TEMPLATE_ID_EXPR args.
(build_expr_from_tree, case CALL_EXPR): Likewise.
2000-08-11 Nathan Sidwell <nathan@codesourcery.com>
* decl.c (check_tag_decl): Diagnose typename's which don't

View File

@ -4116,10 +4116,17 @@ build_expr_from_tree (t)
if (TREE_CODE (TREE_OPERAND (t, 0)) == SCOPE_REF)
{
tree ref = TREE_OPERAND (t, 0);
tree name = TREE_OPERAND (ref, 1);
if (TREE_CODE (name) == TEMPLATE_ID_EXPR)
name = build_nt (TEMPLATE_ID_EXPR,
TREE_OPERAND (name, 0),
build_expr_from_tree (TREE_OPERAND (name, 1)));
return build_scoped_method_call
(build_expr_from_tree (TREE_OPERAND (t, 1)),
build_expr_from_tree (TREE_OPERAND (ref, 0)),
TREE_OPERAND (ref, 1),
name,
build_expr_from_tree (TREE_OPERAND (t, 2)));
}
else
@ -4151,9 +4158,16 @@ build_expr_from_tree (t)
if (TREE_CODE (TREE_OPERAND (t, 0)) == SCOPE_REF)
{
tree ref = TREE_OPERAND (t, 0);
tree name = TREE_OPERAND (ref, 1);
if (TREE_CODE (name) == TEMPLATE_ID_EXPR)
name = build_nt (TEMPLATE_ID_EXPR,
TREE_OPERAND (name, 0),
build_expr_from_tree (TREE_OPERAND (name, 1)));
return build_member_call
(build_expr_from_tree (TREE_OPERAND (ref, 0)),
TREE_OPERAND (ref, 1),
name,
build_expr_from_tree (TREE_OPERAND (t, 1)));
}
else