This patch teaches the C and C++ FEs to expect ACC ENTER/EXIT DATA, ACC
UPDATE and ACC WAIT executable directives to be used inside compound
statements. This is to prevent situations such as

  if (needs_wait)
    #pragma acc wait

  // do something else here

from generating unexpected code when the program is built without
-fopenacc. The C and C++ FEs already guard against such usages for
OpenMP executable directives.

This patch also included a tweak for the diagnostics generated by
oacc_enter_exit_data parser. The error message now more accurately
reports if an error is detected in an enter or exit data directive.

Is this patch OK for trunk?

Cesar

Reply via email to