http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60146
Bug ID: 60146 Summary: Regression: ICE when compiling this code with -fopenmp Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: tweenk.pl at gmail dot com The linked preprocessed code compiled correctly in GCC 4.7.x (Ubuntu 13.04). After upgrade to GCC 4.8.1 (Ubuntu 13.10), it crashes. The code is too big (3.1MB) to attach it to the bug report and cannot be easily reduced, so I'm providing a download link: http://osch.chem.uw.edu.pl/gccbug.cpp Compile with: g++ -fopenmp gccbug.cpp -c -o gccbug.o Output: In file included from ../tests/../common/include/Spectrum.h:16:0, from ../tests/TestSpectralData.cpp:2: ../tests/../common/include/SpectralData.h: In instantiation of ‘SpectrumRegionAxis<<anonymous>, <template-parameter-1-2>, <template-parameter-1-3>, <anonymous> >::Self& SpectrumRegionAxis<<anonymous>, <template-parameter-1-2>, <template-parameter-1-3>, <anonymous> >::operator=(const Self&) [with unsigned int D = 4u; C = short unsigned int; T = float; unsigned int BLOCKSIZE = 32u; SpectrumRegionAxis<<anonymous>, <template-parameter-1-2>, <template-parameter-1-3>, <anonymous> >::Self = SpectrumRegionAxis<4u, short unsigned int, float, 32u>]’: ../tests/../common/include/SpectralData.h:1195:8: required from ‘BinaryOutput& operator<<(BinaryOutput&, const SpectrumRegionAxis<D, C, T, BSIZE>&) [with unsigned int D = 4u; C = short unsigned int; T = float; unsigned int BSIZE = 32u]’ ../tests/../common/include/Spectrum.h:75:6: required from ‘BinaryOutput& operator<<(BinaryOutput&, const Spectrum<D>&) [with unsigned int D = 4u]’ ../tests/TestSpectralData.cpp:163:9: required from here ../tests/../common/include/SpectralData.h:650:5: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions. Preprocessed source stored into /tmp/ccsMy4oS.out file, please attach this to your bugreport.