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

Reply via email to