Index: c-family/c-omp.c =================================================================== --- c-family/c-omp.c (revision 230703) +++ c-family/c-omp.c (working copy) @@ -63,7 +63,6 @@ c_finish_oacc_wait (location_t loc, tree parms, tr } stmt = build_call_expr_loc_vec (loc, stmt, args); - add_stmt (stmt); vec_free (args); Index: c/c-parser.c =================================================================== --- c/c-parser.c (revision 230703) +++ c/c-parser.c (working copy) @@ -13886,6 +13886,7 @@ c_parser_oacc_wait (location_t loc, c_parser *pars strcpy (p_name, " wait"); clauses = c_parser_oacc_all_clauses (parser, OACC_WAIT_CLAUSE_MASK, p_name); stmt = c_finish_oacc_wait (loc, list, clauses); + add_stmt (stmt); return stmt; } Index: cp/parser.c =================================================================== --- cp/parser.c (revision 230703) +++ cp/parser.c (working copy) @@ -34930,6 +34930,7 @@ cp_parser_oacc_wait (cp_parser *parser, cp_token * "#pragma acc wait", pragma_tok); stmt = c_finish_oacc_wait (loc, list, clauses); + stmt = finish_expr_stmt (stmt); return stmt; }