On Thu, Jul 09, 2015 at 10:50:14 +0200, Jakub Jelinek wrote: > * parser.c (cp_parser_omp_var_list_no_open): Parse this. > * cp-tree.h (finish_omp_declare_simd_methods): New prototype. > * semantics.c (handle_omp_array_sections_1): Disallow this based > array sections for OpenMP. > (finish_omp_declare_simd_methods): New function. > (finish_omp_clauses): Don't attempt to adjust linear step of > this if it points to TYPE_BEING_DEFINED. Disallow this in > all clauses expecting variable lists, except for declare simd > linear/uniform/aligned clauses. > (finish_struct_1): Call finish_omp_declare_simd_methods. > > * g++.dg/vect/simd-clone-2.cc: New test. > * g++.dg/vect/simd-clone-2.h: New file. > * g++.dg/vect/simd-clone-3.cc: New test. > * g++.dg/vect/simd-clone-4.cc: New test. > * g++.dg/vect/simd-clone-4.h: New file. > * g++.dg/vect/simd-clone-5.cc: New test. > * g++.dg/gomp/this-1.C: New test. > * g++.dg/gomp/this-2.C: New test.
One more warning: gcc/cp/parser.c: In function ‘tree_node* cp_parser_omp_var_list_no_open(cp_parser*, omp_clause_code, tree, bool*)’: gcc/cp/parser.c:27931:26: error: ‘name’ may be used uninitialized in this function [-Werror=maybe-uninitialized] token->location); ^ cc1plus: all warnings being treated as errors make[4]: *** [cp/parser.o] Error 1 -- Ilya