https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71910
Bug ID: 71910 Summary: ICE on invalid OpenMP code Product: gcc Version: 5.4.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: shabalin.timofey at gmail dot com Target Milestone: --- GCC 5.4.0 on Cygwin ICEs with segfault on the following invalid OpenMP code. Without -O2 or -O3 it compiles. $ cat omp-bug.cpp #include <vector> #include <cstdlib> #include <omp.h> int main(void) { std::vector<double> vec(10); #pragma omp parallel { std::exit(0); } } $ g++ -v -fopenmp -O2 -c omp-bug.cpp Using built-in specs. COLLECT_GCC=g++ Target: x86_64-pc-cygwin Configured with: /cygdrive/i/szsz/tmpp/gcc/gcc-5.4.0-1.x86_64/src/gcc-5.4.0/configure --srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-5.4.0-1.x86_64/src/gcc-5.4.0 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=x86_64-pc-cygwin --host=x86_64-pc-cygwin --target=x86_64-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit --with-dwarf2 --with-tune=generic --enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ --enable-graphite --enable-threads=posix --enable-libatomic --enable-libcilkrts --enable-libgomp --enable-libitm --enable-libquadmath --enable-libquadmath-support --enable-libssp --enable-libada --enable-libgcj-sublibs --disable-java-awt --disable-symvers --with-ecj-jar=/usr/share/java/ecj.jar --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible Thread model: posix gcc version 5.4.0 (GCC) COLLECT_GCC_OPTIONS='-v' '-fopenmp' '-O2' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-pc-cygwin/5.4.0/cc1plus.exe -quiet -v -Dunix -idirafter /usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../lib/../include/w32api -idirafter /usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../x86_64-pc-cygwin/lib/../lib/../../include/w32api omp-bug.cpp -quiet -dumpbase omp-bug.cpp -mtune=generic -march=x86-64 -auxbase omp-bug -O2 -version -fopenmp -o /tmp/ccvLJMda.s GNU C++ (GCC) version 5.4.0 (x86_64-pc-cygwin) compiled by GNU C version 5.4.0, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../x86_64-pc-cygwin/include" ignoring duplicate directory "/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../x86_64-pc-cygwin/lib/../lib/../../include/w32api" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-pc-cygwin/5.4.0/include/c++ /usr/lib/gcc/x86_64-pc-cygwin/5.4.0/include/c++/x86_64-pc-cygwin /usr/lib/gcc/x86_64-pc-cygwin/5.4.0/include/c++/backward /usr/lib/gcc/x86_64-pc-cygwin/5.4.0/include /usr/local/include /usr/include /usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../lib/../include/w32api End of search list. GNU C++ (GCC) version 5.4.0 (x86_64-pc-cygwin) compiled by GNU C version 5.4.0, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: a839c1339a6cf2c25ae50f14379aebc0 omp-bug.cpp: In function ‘int main()’: omp-bug.cpp:12:1: internal compiler error: Segmentation fault } ^ Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.