+2016-03-09 Cesar Philippidis <cesar@codesourcery.com>
+
+ * c-parser.c (c_parser_oacc_loop): Update cclauses and clauses
+ when calling c_finish_omp_clauses.
+
2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
PR c/69824
{
clauses = c_oacc_split_loop_clauses (clauses, cclauses);
if (*cclauses)
- c_finish_omp_clauses (*cclauses, false);
+ *cclauses = c_finish_omp_clauses (*cclauses, false);
if (clauses)
- c_finish_omp_clauses (clauses, false);
+ clauses = c_finish_omp_clauses (clauses, false);
}
tree block = c_begin_compound_stmt (true);
+2016-03-09 Cesar Philippidis <cesar@codesourcery.com>
+
+ * parser.c (cp_parser_oacc_loop): Update cclauses and clauses
+ when calling c_finish_omp_clauses.
+
2016-03-08 Jason Merrill <jason@redhat.com>
* parser.c (cp_parser_diagnose_invalid_type_name): Give helpful
{
clauses = c_oacc_split_loop_clauses (clauses, cclauses);
if (*cclauses)
- finish_omp_clauses (*cclauses, false);
+ *cclauses = finish_omp_clauses (*cclauses, false);
if (clauses)
- finish_omp_clauses (clauses, false);
+ clauses = finish_omp_clauses (clauses, false);
}
tree block = begin_omp_structured_block ();
+2016-03-09 Cesar Philippidis <cesar@codesourcery.com>
+
+ * c-c++-common/goacc/combined-directives-2.c: New test.
+
2016-03-09 David Malcolm <dmalcolm@redhat.com>
PR c/68473
--- /dev/null
+/* Ensure that bogus clauses aren't propagated in combined loop
+ constructs. */
+
+int
+main ()
+{
+ int a, i;
+
+#pragma acc parallel loop vector copy(a[0:100]) reduction(+:a) /* { dg-error "'a' does not have pointer or array type" } */
+ for (i = 0; i < 100; i++)
+ a++;
+
+ return a;
+}