[Bug c++/92313] New: Regression: ICE since 9.2 for templates derived from range-v3 code
TonyELewis at hotmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Oct 31 21:02:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92313
Bug ID: 92313
Summary: Regression: ICE since 9.2 for templates derived from
range-v3 code
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: TonyELewis at hotmail dot com
Target Milestone: ---
Compiling:
~~~
#include <range/v3/iterator/access.hpp>
~~~
...with range-v3 0.9.1 is successful with GCC 9.2 but induces an ICE with GCC
trunk ("10.0.0 20191022 (experimental)") : [ https://godbolt.org/z/MwXurC ] :
With creduce's help, this boils down to:
~~~
template <typename > int an_int;
template <typename T, typename U = decltype( an_int<T> ) > using a = decltype(
an_int<T> );
template <typename T > using b = a<T>;
template <typename T > using c = b< b<T> >;
~~~
...which compiles cleanly under GCC 9.2 but fails with:
~~~
a.cpp:4:78: internal compiler error: in strip_typedefs, at cp/tree.c:1681
4 | template <typename T > using c = b<
b<T> >;
|
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
~~~
...under GCC trunk (r277657, 2019-10-31) with `-fsyntax-only a.cpp`.
Many thanks for all work on GCC.
More information about the Gcc-bugs
mailing list