Hello Everyone,
This patch is for the Cilk Plus branch, mainly affecting the G++
compiler. This patch will add the extra parameter (enum call_context) into
finish_call_expr that was added in the weekly merge.
I am planning to send approximately 4 patches today, and so please
commit them in order. This is PATCH #1.
Thanks,
Balaji V. Iyer.
diff --git a/gcc/cp/ChangeLog.cilk b/gcc/cp/ChangeLog.cilk
index cbf022f..fc498f1 100644
--- a/gcc/cp/ChangeLog.cilk
+++ b/gcc/cp/ChangeLog.cilk
@@ -1,3 +1,10 @@
+2011-11-11 Balaji V. Iyer <[email protected]>
+
+ * parser.c (cp_parser_userdef_char_literal): Added CALL_NORMAL
+ parameter to finish_call_expr function call.
+ (cp_parser_userdef_numeral_literal): Likewise.
+ (cp_parser_userdef_string_literal): Likewise.
+
2011-10-22 Balaji V. Iyer <[email protected]>
* typeck2.c (split_nonconstant_init_1): Added "CALL_NORMAL" parameter
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 7f03785..07572d4 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -3602,7 +3602,8 @@ cp_parser_userdef_char_literal (cp_parser *parser)
release_tree_vector (vec);
return error_mark_node;
}
- result = finish_call_expr (decl, &vec, false, true, tf_warning_or_error);
+ result = finish_call_expr (decl, &vec, false, true, CALL_NORMAL,
+ tf_warning_or_error);
release_tree_vector (vec);
return result;
@@ -3662,7 +3663,8 @@ cp_parser_userdef_numeric_literal (cp_parser *parser)
decl = lookup_function_nonclass (name, args, /*block_p=*/false);
if (decl && decl != error_mark_node)
{
- result = finish_call_expr (decl, &args, false, true, tf_none);
+ result = finish_call_expr (decl, &args, false, true, CALL_NORMAL,
+ tf_none);
if (result != error_mark_node)
{
release_tree_vector (args);
@@ -3679,7 +3681,8 @@ cp_parser_userdef_numeric_literal (cp_parser *parser)
decl = lookup_function_nonclass (name, args, /*block_p=*/false);
if (decl && decl != error_mark_node)
{
- result = finish_call_expr (decl, &args, false, true, tf_none);
+ result = finish_call_expr (decl, &args, false, true, CALL_NORMAL,
+ tf_none);
if (result != error_mark_node)
{
release_tree_vector (args);
@@ -3697,7 +3700,8 @@ cp_parser_userdef_numeric_literal (cp_parser *parser)
{
tree tmpl_args = make_char_string_pack (num_string);
decl = lookup_template_function (decl, tmpl_args);
- result = finish_call_expr (decl, &args, false, true, tf_none);
+ result = finish_call_expr (decl, &args, false, true, CALL_NORMAL,
+ tf_none);
if (result != error_mark_node)
{
release_tree_vector (args);
@@ -3743,7 +3747,7 @@ cp_parser_userdef_string_literal (cp_token *token)
release_tree_vector (vec);
return error_mark_node;
}
- result = finish_call_expr (decl, &vec, false, true, tf_none);
+ result = finish_call_expr (decl, &vec, false, true, CALL_NORMAL, tf_none);
if (result == error_mark_node)
error ("unable to find valid user-defined string literal operator %qD."
" Possible missing length argument in string literal operator.",