[Bug c++/89657] New: ICE when calling lambda returning requires-expression

jason.e.cobb at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Mar 11 12:04:00 GMT 2019


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

            Bug ID: 89657
           Summary: ICE when calling lambda returning requires-expression
           Product: gcc
           Version: c++-concepts
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jason.e.cobb at gmail dot com
  Target Milestone: ---

In the code:
auto x = []<int = 0>(){
    return requires() {
        1;
    };
}();

When compiling with trunk as of 2019-03-10, GCC fails with an internal compiler
error:
<source>: In instantiation of '<lambda()> [with int <anonymous> = 0]':

<source>:5:3:   required from here

<source>:5:1: internal compiler error: tree check: expected tree that contains
'typed' structure, have 'simple_req' in copy_tree_body_r, at tree-inline.c:1325

    5 | }();

      | ^

Show on Compiler Explorer: https://gcc.godbolt.org/z/jwasQ9


More information about the Gcc-bugs mailing list