https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93436

            Bug ID: 93436
           Summary: ICE during GIMPLE pass: sanopt with -fsanitize=address
                    -fdump-tree-sanopt
           Product: gcc
           Version: 9.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zgredder at gmail dot com
  Target Milestone: ---

Input:

#include <optional>

std::optional <unsigned> f()
{
        return 0u;
}

========================

cfiend@Shoggoth ~/test $ g++ -fsanitize=address -std=c++17 -c
-fdump-tree-sanopt test.cpp -freport-bug
during GIMPLE pass: sanopt
dump file: test.cpp.227t.sanopt
In file included from test.cpp:1:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/g++-v9/optional: In constructor
‘constexpr std::_Optional_payload<unsigned int, true, true,
true>::_Optional_payload(std::in_place_t, _Args&& ...) [with _Args = {unsigned
int}][inherited from std::_Optional_payload_base<unsigned int>]’:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/g++-v9/optional:298:42: internal
compiler error: Segmentation fault
  298 |       using _Optional_payload_base<_Tp>::_Optional_payload_base;
      |

Reply via email to