On 09/26/2018 12:50 PM, Joseph Myers wrote:
> On Wed, 26 Sep 2018, Cesar Philippidis wrote:
>
>> Attached is an old patch which updated the C and C++ FEs to use %<)%>
>> for the right ')' symbol. It's mostly a cosmetic change. All of the
>> changes are self-contained to the OpenACC code path.
>
> Why is the "before ')'" included in the call to c_parser_error at all?
> c_parser_error calls c_parse_error which adds its own " before " and token
> description or expansion, so I'd expect the current error to result in a
> message ending in something of the form "before X before Y".
On closer inspection
#pragma acc parallel copyin (a[0:N]) copy (b[0:N]) wait (1 /* {
dg-error "expected '\\\)' before end of line" } */
- /* { dg-error "expected integer expression before '\\\)'" "" {
target c++ } .-1 } */
+ /* { dg-error "expected integer expression list before" "" { target
c++ } .-1 } */
so this is only applicable to c++. But in C++ I see duplicate errors
like this
wait.c:29:29: error: expected ‘)’ before end of line
#pragma acc parallel wait (1
~ ^
)
wait.c:29:29: error: expected integer expression list before ‘)’ before
end of line
I suppose for C++ that's an improvement over
wait.c:29:29: error: expected integer expression before ')' before end
of line
Julian, I need to start working on deep copy in OpenACC. Can you take
over this patch? The error handling code in the C FE needs to be removed
because it's dead.
Thanks,
Cesar