This patch does the following to the c and c++ front ends: * parsing support for the tile, independent, default (none), private and firstprivate clauses in c and c++ * updates c_oacc_split_loop_clauses to filter out the loop clauses from combined parallel/kernels loops The c front end already had some support for private and firstprivate in openacc. However, the c++ front end wasn't associating any of those clauses with parallel, kernels or acc loops. For reference, here's the grammar for the tile clause from section 2.7 in version 2.0a of the openacc spec: tile( size-expr-list ) where size-expr is one of: * int-expr That '*' symbol complicated the parsing a little, since it's no longer a primary expression. I've bootstrapped and regression tested this on x86_64. Is this ok for trunk? Cesar