On 10/16/2013 01:48 PM, Aldy Hernandez wrote:
On 10/02/13 16:53, Jason Merrill wrote:
Can't the step size be a value-dependent expression like a template non-type parameter?
Jason, I'm not sure. The standard says: "The conditional-expression in a simd-linear-step shall either satisfy the requirements of an integer constant expression, or be a reference to a variable with integer type." I take this to mean, an integral expression or a plain old variable. Is this the case, Balaji?
Right. An integral constant expression can be value-dependent.
If this is what you're asking, and the above standardeese allows it, then we have a problem, because the code parsing the "j" in the linear clause uses cp_parser_id_expression() which gets horrendously confused with the colon, expecting a '::'.
Sounds like you need to turn off parser->colon_corrects_to_scope_p when parsing the pragma arguments.
Jason