https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87848
Bug ID: 87848 Summary: [9 Regression] internal compiler error: in compare_range_with_value, at vr-values.c:1665 Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: steinar+gcc at gunderson dot no Target Milestone: --- Created attachment 44942 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44942&action=edit Reduced test case gcc version 9.0.0 20181019 (experimental) [trunk revision 265316] (Debian 20181019-1) Seemingly there is a regression when compiling protobuf 3.6.1: during GIMPLE pass: vrp ../extra/protobuf/protobuf-3.6.1/src/google/protobuf/util/internal/datapiece.cc: In member function 'google::protobuf::util::StatusOr<T> google::protobuf::util::converter::DataPiece::GenericConvert() const [with To = double]': ../extra/protobuf/protobuf-3.6.1/src/google/protobuf/util/internal/datapiece.cc:323:14: internal compiler error: in compare_range_with_value, at vr-values.c:1665 323 | StatusOr<To> DataPiece::GenericConvert() const { | ^~~~~~~~~ 0x7fd9d3a1eb16 __libc_start_main ../csu/libc-start.c:310 GCC 8 works. I believe that also a GCC 9 snapshot from a month or two ago worked. Adding attachment with a reduced test case. Compile with -O or -O2.