This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PING: Fwd: Re: [patch] implement Cilk Plus simd loops on trunk
- From: Jason Merrill <jason at redhat dot com>
- To: Aldy Hernandez <aldyh at redhat dot com>
- Cc: Richard Henderson <rth at redhat dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>, "Iyer, Balaji V" <balaji dot v dot iyer at intel dot com>
- Date: Wed, 16 Oct 2013 14:32:02 -0400
- Subject: Re: PING: Fwd: Re: [patch] implement Cilk Plus simd loops on trunk
- Authentication-results: sourceware.org; auth=none
- References: <51F299D3 dot 5020907 at redhat dot com> <521269E0 dot 1020104 at redhat dot com> <521B8ECA dot 70806 at redhat dot com> <521D060E dot 9030601 at redhat dot com> <524C95F2 dot 1010802 at redhat dot com> <525ED177 dot 5050006 at redhat dot com>
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