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