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

            Bug ID: 87814
           Summary: [9 Regression] ICE in in tsubst_copy, at cp/pt.c:15962
                    with range-v3
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: Casey at Carter dot net
  Target Milestone: ---

Created attachment 44932
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44932&action=edit
Preprocessed repro

This program (preprocessed repro attached as repro.i.gz):

  #include <range/v3/iterator_range.hpp>
  #include <range/v3/view/join.hpp>
  #include <range/v3/view/transform.hpp>

  int main() {
      using namespace ranges;

      auto f = [](int) { return iterator_range<int*>(); };
      join_view<transform_view<int(&)[42], decltype(f)>> rng;
      (void) rng.begin();
  }

ICEs in tsubst_copy while instantiating a variadic inherited constructor
template that performs a "double" pack expansion, defined around line 43341 in
the repro.

Reply via email to