[Bug c++/87012] New: [Regression] ICE in verify_unstripped_args_1

2018-08-18 Thread v.reshetnikov at gmail dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /* BEGIN SOURCE */ template using ref = T&; int x; template class T, T> struct X { }; struct Y : X { }; /** END

[Bug c++/87001] New: False error "expansion pattern 'x' contains no argument packs"

2018-08-17 Thread v.reshetnikov at gmail dot com
ty: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /*** BEGIN SOURCE ***/ template struct X { template class U> struct Y {

[Bug c++/86986] New: Unexpected errors for template parameter pack in a template template parameter

2018-08-16 Thread v.reshetnikov at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /* SOURCE */ template struct X { template class...> struct Y { }; }; using type = X

[Bug c++/86969] New: [Regression] ICE (in tsubst_copy) for a generic recursive lambda

2018-08-15 Thread v.reshetnikov at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /* BEGIN SOURCE */ auto compose = [](auto... fs) { if constexpr (sizeof...(fs) == 0

[Bug c++/86961] ICE in finish_member_declaration when an alias template is used

2018-08-15 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86961 --- Comment #1 from Vladimir Reshetnikov --- Might be related to Bug 86956 and Bug 86959.

[Bug c++/86960] [Regression] internal compiler error: in coerce_template_parms

2018-08-15 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86960 --- Comment #2 from Vladimir Reshetnikov --- Also, might be related to Bug 84796 and Bug 86961.

[Bug c++/86966] ICE (Segmentation fault) for an explicit specialization of a member class template

2018-08-15 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86966 --- Comment #4 from Vladimir Reshetnikov --- Also, might be related to Bug 84796.

[Bug c++/86966] ICE (Segmentation fault) for an explicit specialization of a member class template

2018-08-15 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86966 --- Comment #3 from Vladimir Reshetnikov --- Might be related to Bug 86960 and Bug 86918.

[Bug c++/86966] ICE (Segmentation fault) for an explicit specialization of a member class template

2018-08-15 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86966 --- Comment #2 from Vladimir Reshetnikov --- I believe the code is valid. We explicitly specialize the member class template X of S for S<> (i.e. the parameter pack T is empty). T is expanded into a list of zero non-type template parameters of

[Bug c++/86966] New: ICE (Segmentation fault) for an explicit specialization of a member class template

2018-08-15 Thread v.reshetnikov at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /* SOURCE */ template struct S { template struct X { }; }; template<> te

[Bug c++/84840] [6/7/8 Regression] ICE (in poplevel_class) for `auto` in alias declaration

2018-08-14 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84840 Vladimir Reshetnikov changed: What|Removed |Added Status|RESOLVED|VERIFIED --- Comment #3 from

[Bug c++/84798] [6/7 Regression] ICE (Segmentation fault) if `auto` appears in a template argument

2018-08-14 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84798 Vladimir Reshetnikov changed: What|Removed |Added Status|RESOLVED|VERIFIED --- Comment #11 from

[Bug c++/84839] [6/7 Regression] ICE (Segmentation fault) when `decltype` is used with parameter pack

2018-08-14 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84839 Vladimir Reshetnikov changed: What|Removed |Added Status|RESOLVED|VERIFIED --- Comment #5 from

[Bug c++/86728] [7/8/9 Regression] unexpected error: conversion from ', ...)>' to non-scalar type 'std::function' requested

2018-08-14 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86728 Vladimir Reshetnikov changed: What|Removed |Added Status|RESOLVED|VERIFIED --- Comment #7 from

[Bug c++/86915] Segmentation fault for an array of auto in template parameter

2018-08-14 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86915 Vladimir Reshetnikov changed: What|Removed |Added Status|RESOLVED|VERIFIED --- Comment #4 from

[Bug c++/86958] ICE in finish_member_declaration when an alias template is used

2018-08-14 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86958 Vladimir Reshetnikov changed: What|Removed |Added Status|RESOLVED|CLOSED --- Comment #6 from

[Bug c++/86961] New: ICE in finish_member_declaration when an alias template is used

2018-08-14 Thread v.reshetnikov at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /** BEGIN SOURCE **/ template struct Outer { template struct Inner; template

[Bug c++/86958] ICE in finish_member_declaration when an alias template is used

2018-08-14 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86958 --- Comment #4 from Vladimir Reshetnikov --- Apparently, I somehow pasted a wrong code into this bug report. If you wish, you can close this one, and I will file proper one(s).

[Bug c++/86960] New: [Regression] internal compiler error: in coerce_template_parms

2018-08-14 Thread v.reshetnikov at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /** BEGIN SOURCE **/ template struct Outer { template struct Inner; }; template<> te

[Bug c++/86918] internal compiler error: unexpected expression 'v' of kind template_parm_index

2018-08-14 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86918 --- Comment #4 from Vladimir Reshetnikov --- I could not find a wording in the Standard that disallows this kind of specialization (although certainly I might have overlooked it). A similar code where the template parameter list is changed in a

[Bug c++/86959] New: Use of a variadic alias template unexpectedly breaks compilation

2018-08-14 Thread v.reshetnikov at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /*** BEGIN SOURCE ***/ template struct Outer { template struct Inner; template

[Bug c++/86958] ICE in finish_member_declaration when an alias template is used

2018-08-14 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86958 --- Comment #1 from Vladimir Reshetnikov --- Sorry, there is a missing closing parenthesis in my code. The last line should look like this: static_assert(Outer::Alias::value == sizeof(bool)); // error

[Bug c++/86958] New: ICE in finish_member_declaration when an alias template is used

2018-08-14 Thread v.reshetnikov at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /** BEGIN SOURCE **/ template struct Outer { template struct Inner; template

[Bug c++/86956] New: Use of an alias template unexpectedly breaks compilation

2018-08-14 Thread v.reshetnikov at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /** BEGIN SOURCE **/ template struct Outer { template struct Inner; template using

[Bug c++/86926] [Regression] ICE for a recursive generic lambda

2018-08-12 Thread v.reshetnikov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86926 --- Comment #1 from Vladimir Reshetnikov --- Note: the error disappears if the variable `f` is not declared `constexpr`.

[Bug c++/86926] New: [Regression] ICE for a recursive generic lambda

2018-08-12 Thread v.reshetnikov at gmail dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /* BEGIN SOURCE */ int main() { constexpr auto f = [](auto self, auto n) { if(n < 2) return n; ret

[Bug c++/86920] New: A matching template specialization is not selected

2018-08-11 Thread v.reshetnikov at gmail dot com
: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /** BEGIN SOURCE **/ template struct S { template struct X { static constexpr bool value = false; }; }; template

[Bug c++/86918] New: internal compiler error: unexpected expression 'v' of kind template_parm_index

2018-08-11 Thread v.reshetnikov at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /** BEGIN SOURCE **/ template struct S { template struct X; }; template

[Bug c++/86915] New: Segmentation fault for an array of auto in template parameter

2018-08-10 Thread v.reshetnikov at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /** BEGIN SOURCE **/ template struct S; /*** END SOURCE ***/ ' Segmentation fault 1 | template struct S

[Bug c++/86883] New: Unexpected error: expansion pattern '' contains no argument packs

2018-08-07 Thread v.reshetnikov at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /** BEGIN SOURCE **/ template struct A { template class Head, T... Args> static conste

[Bug c++/86728] New: [Regression] unexpected error: conversion from ', ...)>' to non-scalar type 'std::function' requested

2018-07-29 Thread v.reshetnikov at gmail dot com
9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /*** BEGIN SOURCE ***/ #include

[Bug c++/86717] New: Unexpected error in dynamic allocation of an array of function pointers

2018-07-28 Thread v.reshetnikov at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /** BEGIN SOURCE **/ template void f() { typedef void(*arr[T::value])(); new arr

[Bug c++/86692] New: Too lenient parsing of noptr-new-declarator

2018-07-26 Thread v.reshetnikov at gmail dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- /*** BEGIN SOURCE ***/ int main() { int n = 1; auto p = new int[n][2, 3]; } / END SOURCE / This compiles without errors, but `2, 3

[Bug c++/84893] New: Rejects a valid code with variadic function template taking a function pointer

2018-03-15 Thread v.reshetnikov at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- The following C++ code is rejected by GCC 8.0.1 20180313 (tested with https://godbolt.org/): /* SOURCE

[Bug c++/84857] New: A valid call to a template function in a variadic template struct is rejected

2018-03-13 Thread v.reshetnikov at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- The following C++ code is rejected by GCC 8.0.1 20180313 (tested with https://godbolt.org/): /* SOURCE

[Bug c++/84840] New: ICE (in poplevel_class) for `auto` in alias declaration

2018-03-12 Thread v.reshetnikov at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- The following C++ code causes an ICE in GCC 8.0.1 20180312 (tested with https://godbolt.org/): /* SOURCE */ struct S

[Bug c++/84839] New: ICE (Segmentation fault) when `decltype` is used with parameter pack

2018-03-12 Thread v.reshetnikov at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- The following C++ code causes an ICE in GCC 8.0.1 20180312 (tested with https://godbolt.org/): /* SOURCE

[Bug c++/84798] New: ICE (Segmentation fault) if `auto` appears in a template argument

2018-03-09 Thread v.reshetnikov at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- The following C++ code causes an ICE in GCC 8.0.1 20180308 (tested with https://godbolt.org/): /** SOURCE

[Bug c++/84796] New: ICE in a template parameter pack expansion

2018-03-09 Thread v.reshetnikov at gmail dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: v.reshetnikov at gmail dot com Target Milestone: --- The following C++ code causes an ICE in GCC 8.0.1 20180308 (tested with https://godbolt.org/): /* SOURCE */ template struct S { template