https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88263
Bug ID: 88263 Summary: ICE in coverage_begin_function Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: csaba_22 at yahoo dot co.uk Target Milestone: --- Created attachment 45122 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45122&action=edit preprocessor output from -save-temps $ cat ../logger/src/logger2.cc #include <sstream> namespace log { class Logstream { public: private: /// The logging stream static thread_local std::ostringstream os_; }; } namespace log { thread_local std::ostringstream Logstream::os_; } $ g++-99 -v -save-temps --coverage -std=c++11 -o logger2.o ../logger/src/logger2.cc Using built-in specs. COLLECT_GCC=g++-99 COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/9.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../trunk/configure --program-suffix=-99 --enable-version-specific-runtime-libs --enable-languages=c,c++,lto : (reconfigured) ../trunk/configure --program-suffix=-99 --enable-version-specific-runtime-libs --enable-languages=c,c++,lto : (reconfigured) ../trunk/configure --program-suffix=-99 --enable-version-specific-runtime-libs --enable-languages=c,c++,lto --no-create --no-recursion Thread model: posix gcc version 9.0.0 20181128 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-coverage' '-std=c++11' '-o' 'logger2.o' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/local/libexec/gcc/x86_64-pc-linux-gnu/9.0.0/cc1plus -E -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE ../logger/src/logger2.cc -mtune=generic -march=x86-64 -std=c++11 -fpch-preprocess -o logger2.ii ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.0.0/../../../../x86_64-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/local/lib/gcc/x86_64-pc-linux-gnu/9.0.0/include/c++ /usr/local/lib/gcc/x86_64-pc-linux-gnu/9.0.0/include/c++/x86_64-pc-linux-gnu /usr/local/lib/gcc/x86_64-pc-linux-gnu/9.0.0/include/c++/backward /usr/local/lib/gcc/x86_64-pc-linux-gnu/9.0.0/include /usr/local/include /usr/local/lib/gcc/x86_64-pc-linux-gnu/9.0.0/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. COLLECT_GCC_OPTIONS='-v' '-save-temps' '-coverage' '-std=c++11' '-o' 'logger2.o' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/local/libexec/gcc/x86_64-pc-linux-gnu/9.0.0/cc1plus -fpreprocessed logger2.ii -quiet -dumpbase logger2.cc -mtune=generic -march=x86-64 -auxbase logger2 -std=c++11 -version -fprofile-arcs -ftest-coverage -o logger2.s GNU C++11 (GCC) version 9.0.0 20181128 (experimental) (x86_64-pc-linux-gnu) compiled by GNU C version 9.0.0 20181128 (experimental), GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.19-GMP GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++11 (GCC) version 9.0.0 20181128 (experimental) (x86_64-pc-linux-gnu) compiled by GNU C version 9.0.0 20181128 (experimental), GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.19-GMP GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 2adabd62ad077780728d20aedfb60f9c during IPA pass: profile ../logger/src/logger2.cc: In function ‘void __tls_init()’: ../logger/src/logger2.cc:19:1: internal compiler error: in coverage_begin_function, at coverage.c:643 19 | } | ^ 0x6b87d4 coverage_begin_function(unsigned int, unsigned int) ../../trunk/gcc/vec.h:845 0xe66993 branch_prob() ../../trunk/gcc/profile.c:1182 0xfd25f5 tree_profiling ../../trunk/gcc/tree-profile.c:772 0xfd25f5 execute ../../trunk/gcc/tree-profile.c:876