On 11/13/2014 12:48 PM, Paolo Carlini wrote:
While we are at it, can you double check that in end_maybe_infinite_loop
we really want the non-sfinae version (which in principle can emit hard
errors): the inconsistency with begin_maybe_infinite_loop seems weird to
me...
I agree, let's use the sfinae version there too.
@@ -15998,7 +15998,7 @@ cp_parser_enumerator_definition (cp_parser* parser
/* integral_constant_value will pull out this expression, so make sure
it's folded as appropriate. */
- value = fold_non_dependent_expr (value);
+ value = instantiate_non_dependent_expr (value);
I think this should be replaced with fold_ if (processing_template_decl)
in build_enumerator.
@@ -27724,7 +27724,7 @@ cp_parser_omp_clause_collapse (cp_parser *parser,
if (num == error_mark_node)
return list;
- num = fold_non_dependent_expr (num);
+ num = instantiate_non_dependent_expr (num);
I think we want fold_ here.
/* When we defer constant folding within a statement, we may want to
defer this folding as well. */
- tree t = fold_non_dependent_expr_sfinae (init, complain);
+ tree t = instantiate_non_dependent_expr_sfinae (init, complain);
t = maybe_constant_init (t);
Let's use it here, too.
Jason