it's an ICE on illegal-code. It doesn't ICE with GCC 8 in bionic.
Unlikely to be fixed in bionic, and also fixed in focal and newer
versions.
$ g++-8 -c -std=c++17 minimized.cc
minimized.cc: In function ‘void a()’:
minimized.cc:46:31: warning: ISO C++ forbids converting a string constant to
‘char*’ [-Wwrite-strings]
y<am>(0, 0, "", an, x::t, {});
^
minimized.cc: In instantiation of ‘y<ah>::y(int, char, s, y<ah>::aj, x, int)
[with ah = {double}; y<ah>::aj = I]::<lambda(auto:1)> [with auto:1 = b<0>]’:
minimized.cc:31:6: required from ‘void u(m<w, af ...>, v) [with v =
y<ah>::y(int, char, s, y<ah>::aj, x, int) [with ah = {double}; y<ah>::aj =
I]::<lambda(auto:1)>; w = long int; w ...af = {0}]’
minimized.cc:37:6: required from ‘y<ah>::y(int, char, s, y<ah>::aj, x, int)
[with ah = {double}; y<ah>::aj = I]’
minimized.cc:46:31: required from here
minimized.cc:39:15: error: ‘<anonymous>’ has incomplete type
int{[&](J<ak>) {}};
^~~~~
minimized.cc:29:27: note: declaration of ‘class J<double>’
template <typename> class J;
^
minimized.cc:39:7: error: cannot convert ‘y<ah>::y(int, char, s, y<ah>::aj, x,
int) [with ah = {double}; y<ah>::aj = I]::<lambda(auto:1)> [with auto:1 =
b<0>]::<lambda(J<double>)>’ to ‘int’ in initialization
int{[&](J<ak>) {}};
^~~
** Changed in: gcc-7 (Ubuntu)
Status: New => Fix Released
** Changed in: gcc
Status: New => Invalid
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1914109
Title:
gcc-7: Internal compiler error: Error reporting routines re-entered
To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc/+bug/1914109/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs