On Sat, Oct 24, 2015 at 02:10:26PM -0700, Cesar Philippidis wrote:
> +static tree
> +c_parser_oacc_shape_clause (c_parser *parser, omp_clause_code kind,
> + const char *str, tree list)
> +{
> + const char *id = "num";
> + tree ops[2] = { NULL_TREE, NULL_TREE }, c;
> + location_t loc = c_parser_peek_token (parser)->location;
> +
> + if (kind == OMP_CLAUSE_VECTOR)
> + id = "length";
> +
> + if (c_parser_next_token_is (parser, CPP_OPEN_PAREN))
> + {
> + c_parser_consume_token (parser);
> +
> + do
> + {
> + c_token *next = c_parser_peek_token (parser);
> + int idx = 0;
> +
> + /* Gang static argument. */
> + if (kind == OMP_CLAUSE_GANG
> + && c_parser_next_token_is_keyword (parser, RID_STATIC))
> + {
> + c_parser_consume_token (parser);
> +
> + if (!c_parser_require (parser, CPP_COLON, "expected %<:%>"))
> + goto cleanup_error;
> +
> + idx = 1;
> + if (ops[idx] != NULL_TREE )
Spurious space before ).
> + {
> + c_parser_error (parser, "too many %<static%> arguements");
Typo, arguments.
> +static tree
> +c_parser_oacc_simple_clause (c_parser *parser ATTRIBUTE_UNUSED,
> + enum omp_clause_code code, tree list)
Please remove the useless ATTRIBUTE_UNUSED, you are using that parameter
unconditionally in c_parser_peek_token (parser).
> +{
> + check_no_duplicate_clause (list, code, omp_clause_code_name[code]);
> +
> + tree c = build_omp_clause (c_parser_peek_token (parser)->location, code);
> + OMP_CLAUSE_CHAIN (c) = list;
> +
> + return c;
> +}
> +
> +int main ()
> +{
> + int i;
> + int v, w;
> + int length, num;
Can you please initialize the v/w/length/num variables?
> + #pragma acc kernels
> +#pragma acc loop gang(16, 24) /* { dg-error "unexpected argument" } */
> + for (i = 0; i < 10; i++)
Missing indentation of the acc loop line.
Ok for trunk with those changes fixed.
Jakub