https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84556
Bug ID: 84556 Summary: C++17, lambda, OpenMP simd: sorry, unimplemented: unexpected AST Product: gcc Version: 7.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: bisqwit at iki dot fi Target Milestone: --- This code generates an AST error when compiled with -std=c++17 -fopenmp. void foo() { auto keymaker = [](void) { #pragma omp simd for(unsigned pos = 0; pos < 4; ++pos) { } }; } test.cc: In lambda function: test.cc:9:5: sorry, unimplemented: unexpected AST of kind omp_simd }; ^ test.cc:9: confused by earlier errors, bailing out Compiling without -fopenmp, or using an earlier standard mode such as -std=c++14 or -std=c++11, the error is not produced. Tested on: g++-7 (Debian 7.2.0-19) 7.2.0 Tested on: g++-7 (Debian 7.2.0-18) 7.2.0 Tested on: g++-7.1 (GCC) 7.1.0 Problem does NOT occur on: g++-6 (Debian 6.4.0-11) 6.4.0 20171206 Problem does NOT occur with #pragma omp parallel for.