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.

Reply via email to