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

            Bug ID: 98056
           Summary: internal compiler error: tree check: expected
                    record_type or union_type or qual_union_type, have
                    array_type in build_special_member_call, at
                    cp/call.c:9862
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: lemourin at gmail dot com
  Target Milestone: ---

Created attachment 49647
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49647&action=edit
preprocessor output; compressed

The attached .ii file causes:

internal compiler error: tree check: expected record_type or union_type or
qual_union_type, have array_type in build_special_member_call, at
cp/call.c:9862

The compiler used is built at head (commit f59be8dfbd85..) with default
configure flags on Ubuntu 20.04 running in WSL 1. Same issue occurs with
g++-10, g++-9 shipped with the distro.

The compiler flags used:

-fcoroutines -std=gnu++2a

Same code works well on latest clang and msvc.

The issue can be worked around by modifying calls to util::FetchJson in
GoogleDrive class in a way:

util::FetchJson(Request<>{ ... }, ...)

change to

auto request = ...;
util::FetchJson(std::move(request), ...)

Reply via email to