Commit fd037e0d by Nathan Sidwell Committed by Nathan Sidwell

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
parent 9104081d
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
declare anything.
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment