mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-21 08:03:41 +08:00
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:
parent
9104081d78
commit
fd037e0d44
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user