On Mon, Oct 27, 2014 at 01:00:41PM -0500, James Norris wrote: > 2014-10-27 James Norris<jnor...@codesourcery.com>
Missing two spaces before <. > * c/c-parser.c (c_parser_oacc_loop, OACC_LOOP_CLAUSE_MASK): Note, gcc/c/ directory has its own ChangeLog, so the c/ prefix doesn't belong into ChangeLog entries. > +#define OACC_LOOP_CLAUSE_MASK > \ > + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COLLAPSE) \ > + | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_REDUCTION) ) > + > +static tree > +c_parser_oacc_loop (location_t loc, c_parser *parser, char *p_name) > +{ > + tree stmt, clauses, block; > + > + strcat (p_name, " loop"); > + > + clauses = c_parser_oacc_all_clauses (parser, OACC_LOOP_CLAUSE_MASK, > p_name); I must say I'm quite surprised that you hardcode the mask here, can loop never be combined with acc parallel? Look what I'm doing for OpenMP constructs? > + if (!strcmp ("loop", IDENTIFIER_POINTER (stmt))) > { > + mask |= OACC_LOOP_CLAUSE_MASK; > + strcat (p_name, " loop"); > c_parser_consume_token (parser); > - block = c_begin_omp_parallel (); > - c_parser_oacc_loop (loc, parser, p_name); > - stmt = c_finish_oacc_kernels (loc, clauses, block); > - OACC_KERNELS_COMBINED (stmt) = 1; > - return stmt; > + is_combined = true; > } > } > > - clauses = c_parser_oacc_all_clauses (parser, OACC_KERNELS_CLAUSE_MASK, > - p_name); > + clauses = c_parser_oacc_all_clauses (parser, mask, p_name); Doesn't this really mean that you don't parse the the loop as loop? Also, please avoid the extra space in "= c_...". Jakub