[Bug c++/70790] Can't mangle noexcept expressions

2020-04-07 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70790 --- Comment #1 from Eric Niebler --- Still present on trunk, four years later.

[Bug c++/94808] New: [ICE] [Regression] Segfault during diagnostics from concept check failure

2020-04-27 Thread eric.niebler at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Created attachment 48385 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48385&action=edit Unreduced, preprocessed

[Bug c++/94827] New: [ICE] [regression] crash on requires clause in tparam list

2020-04-28 Thread eric.niebler at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Try the following code with -std=c++2a template void foo(T) {} The result: :20:44: internal compiler error: tree check: accessed elt 1 of

[Bug c++/92633] New: [concepts] constrained lambda with placehoder syntax getting wrong substitution

2019-11-22 Thread eric.niebler at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- The following code fails to compile with trunk with -std=c++2a template concept different_than = !__is_same_as(A, B

[Bug c++/93667] New: [10 regression] ICE in esra with nested [[no_unique_address]] field

2020-02-10 Thread eric.niebler at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Compile with: -std=c++2a -O2 struct a {}; struct b { [[no_unique_address]] a aq; }; struct c { int d

[Bug c++/93667] [10 regression] ICE in esra with nested [[no_unique_address]] field

2020-02-11 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93667 --- Comment #3 from Eric Niebler --- > Is this a duplicate / variant of > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93516? Bug 93516 is not triggered by [[no_unique_addresss]] and the ICE is not on the same line. That's why I created a new i

[Bug c++/93741] New: [10 regression] ICE in incomplete concept definition

2020-02-14 Thread eric.niebler at gmail dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- The following (very invalid) code fragment causes gcc-trunk to ICE: template struct a { b({ concept c =

[Bug c++/93895] New: ICE (segmentation fault) in use of __is_constructible intrinsic

2020-02-23 Thread eric.niebler at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Created attachment 47892 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47892&action=edit result of creduce on the error

[Bug c++/93895] ICE (segmentation fault) in use of __is_constructible intrinsic

2020-02-23 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93895 --- Comment #1 from Eric Niebler --- Here is the error: repro.cpp.i: In instantiation of ‘bool bf::{anonymous}::bb, false> >’: repro.cpp.i:158:67: required from ‘df::operator Container() [with Container = view_facade, false>::outer_cursor::inn

[Bug libstdc++/93936] New: [ranges] std::ranges::split_view<...>::_OuterIter<...>::__current() is private within this context

2020-02-25 Thread eric.niebler at gmail dot com
ion: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- The following program fails to compile with -std=c++2a

[Bug c++/54440] New: [c++11] g++ prematurely applying rule that a template parameter pack cannot be followed by a template parameter

2012-08-31 Thread eric.niebler at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54440 Bug #: 54440 Summary: [c++11] g++ prematurely applying rule that a template parameter pack cannot be followed by a template parameter Classification: Unclassified Produc

[Bug c++/57384] New: can't expand a parameter pack into a list of function types or function pointer types

2013-05-22 Thread eric.niebler at gmail dot com
IRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com I believe all of the following 4 test cases should pass: template struct list {}; template struct S { using

[Bug c++/57384] can't expand a parameter pack into a list of function types or function pointer types

2013-05-23 Thread eric.niebler at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57384 --- Comment #3 from Eric Niebler --- Interesting. I filed a similar bug against clang (http://llvm.org/bugs/show_bug.cgi?id=16118), where Richard Smith seems to feel the test cases should be: template struct list {}; template struct S

[Bug c++/57764] New: class static constexpr variables cannot be references

2013-06-30 Thread eric.niebler at gmail dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com constexpr int x = 42; struct S { static constexpr int const & y = x; }; constexpr int const & S::y; ... gives: $ /usr/local/gcc-4.8/bin/g++ -std=gnu++11 -c

[Bug c++/53846] New: [c++11] memory exhaustion on simple recursive function template that uses decltype

2012-07-03 Thread eric.niebler at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53846 Bug #: 53846 Summary: [c++11] memory exhaustion on simple recursive function template that uses decltype Classification: Unclassified Product: gcc Version: 4.7.0 Stat

[Bug c++/53036] New: [c++11] trivial class fails std::is_trivial test

2012-04-18 Thread eric.niebler at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53036 Bug #: 53036 Summary: [c++11] trivial class fails std::is_trivial test Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal P

[Bug c++/53096] New: [c++11] should be possible to default a copy ctor that takes non-const arg

2012-04-23 Thread eric.niebler at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53096 Bug #: 53096 Summary: [c++11] should be possible to default a copy ctor that takes non-const arg Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCO

[Bug c++/59123] New: [c++11] can't forward-declare an object later defined constexpr

2013-11-13 Thread eric.niebler at gmail dot com
ormal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Clang accepts the following. I think it's legal. g++ 4.8.1 rejects it: // Fwd-declarations struct S; extern const S s; // (... later) definition

[Bug c++/59244] New: [c++11] can't specialize template on ref-qualified member function pointer type

2013-11-21 Thread eric.niebler at gmail dot com
erity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com I believe the following should compile: ``` template struct U; template struct U {}; template struct U {}; template struct U {}; `

[Bug c++/59296] New: [c++11] ref-qualified member function is ambiguous

2013-11-25 Thread eric.niebler at gmail dot com
: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com The following code fails to compile: struct S { constexpr int foo() const & { return 0; } constexpr int foo() const && { return 42; } }; int main() { constexpr int

[Bug c++/59360] New: Complicated bind expression causing infinite recursive template instantiations

2013-12-01 Thread eric.niebler at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com This code compiles with clang 3.3 but doesn't compile with gcc 4.8.2 with -std=gnu++11: #include #include #include #in

[Bug c++/59361] New: cannot expand parenthesized pack expression

2013-12-01 Thread eric.niebler at gmail dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com The following compiles with clang but doesn't with g++ 4.8.2 with -std=gnu++11: template struct and_ { constexpr static bool value{true}; }; template struct

[Bug c++/89068] New: Nested inline anonymous namespaces are erroneously reported as conflicting

2019-01-25 Thread eric.niebler at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- The following valid code is rejected by g++ -std=c++XY for any XY >= 11: inline namespace { inline namespace {} } inl

[Bug c++/86098] New: [concepts] canonical types differ for identical types

2018-06-09 Thread eric.niebler at gmail dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Compile with -std=c++2a -O3 -fconcepts namespace std { template class future; template class promise; } template T&& declval() requires true;

[Bug c++/84810] New: [concepts][c++20] constraints of lambdas with explicit template parameters are not checked

2018-03-10 Thread eric.niebler at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- The following code declares a C++20 lambda with a constraint. The invocation of the lambda should be ill

[Bug c++/70790] New: Can't mangle noexcept expressions

2016-04-25 Thread eric.niebler at gmail dot com
nt: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- #include template void foo(T, typename std::enable_if())), int>::type) { } int main() { foo(0,0); } Results in: Test.cpp: In instantiation of ‘void foo(T, type

[Bug c++/71116] New: Lambdas should not be literal types

2016-05-14 Thread eric.niebler at gmail dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- #include template void oops(Fn) { static_assert(!std::is_literal_type::value, "oops"); } int main() { oops([]{}); } Yields: test.cpp: In instantiation of ‘vo

[Bug c++/71117] New: [6.1 regression] Overeager application of conversion to function pointer during overload resolution of call to function object

2016-05-14 Thread eric.niebler at gmail dot com
Version: 6.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Casey Carter recently posted this to the committee

[Bug libstdc++/71187] New: declval() can be implemented without requiring a template instantiation

2016-05-18 Thread eric.niebler at gmail dot com
: enhancement Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- declval gets used *everywhere*. It doesn't need to instantiate a template. Rather than: template i

[Bug libstdc++/71187] declval() can be implemented without requiring a template instantiation

2017-09-14 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71187 --- Comment #3 from Eric Niebler --- I suppose, but I doubt it would matter much. add_rvalue_reference is not used nearly as frequently as declval (except in the current implementation of declval).

[Bug c++/80488] New: Erroneous error "lambda-expression in template argument"

2017-04-21 Thread eric.niebler at gmail dot com
ty: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Compile with -std=gnu++1z: template using x = void; using Y = x<+[]{}>; The above code creates a lambda and then applie

[Bug c++/82507] New: [concepts] premature substitution into constraint of non-template member function

2017-10-10 Thread eric.niebler at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- According to Andrew Sutton, the following code should compile: template concept bool True = true; template concept

[Bug c++/68093] [concepts] friend function declarations that differ only by constraints are rejected as redefinitions

2017-10-13 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68093 --- Comment #1 from Eric Niebler --- Still happens on trunk, 2 years later: template concept bool True = true; template struct S { friend bool operator==(S, int) requires True { return true; } friend bool operator==(S, int) requires !True

[Bug libstdc++/77537] [6 Regression] pair constructors do not properly SFINAE

2016-09-26 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77537 --- Comment #12 from Eric Niebler --- Likewise

[Bug c++/78137] New: [C++1z] braced initializer in defaulted function argument causes ICE

2016-10-27 Thread eric.niebler at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- With -std=gnu++1z, the following code ICEs the compiler: ``` struct S {}; template void foo(T t = {}) {} int main() { foo

[Bug c++/78137] [C++1z] braced initializer in defaulted function argument causes ICE

2016-10-27 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78137 Eric Niebler changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c++/78003] [7 Regression] c++17: ICE in build_over_call, at cp/call.c:7847

2016-10-27 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78003 Eric Niebler changed: What|Removed |Added CC||eric.niebler at gmail dot com

[Bug libstdc++/78231] Should std::sort use unqualifed iter_swap?

2016-11-08 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78231 Eric Niebler changed: What|Removed |Added CC||eric.niebler at gmail dot com

[Bug c++/59361] cannot expand parenthesized pack expression

2014-04-01 Thread eric.niebler at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59361 --- Comment #1 from Eric Niebler --- Anybody?

[Bug c++/60798] New: Access checking of template alias not done at the point of use

2014-04-09 Thread eric.niebler at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com The following compiles with clang, but not with gcc-4.8.2 template using base_t = typename Derived::base_t

[Bug c++/60799] New: access checking within injected friend functions does not happen in the context of the enclosing class

2014-04-09 Thread eric.niebler at gmail dot com
: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com The following compiles with clang, but not with gcc-4.8.2 / template struct

[Bug c++/60803] New: Trivial example of overloading in the presence of inheritance fails

2014-04-09 Thread eric.niebler at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com The following very simple code fails to compile: /// template struct refines : Ts {}; struct A {}; struct B : refines

[Bug c++/60803] Trivial example of overloading in the presence of inheritance fails

2014-04-09 Thread eric.niebler at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60803 --- Comment #3 from Eric Niebler --- B

[Bug c++/68434] [concepts] ICE: same canonical type node for different types

2015-11-20 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68434 Eric Niebler changed: What|Removed |Added CC||eric.niebler at gmail dot com

[Bug c++/64892] New: C++1y: generic lambdas, decltype(auto), and rvalue references, oh my!

2015-01-31 Thread eric.niebler at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com In the following code, gcc seems to be getting the value category wrong for the return type of the generic lambda: #include int main() { using std

[Bug c++/64892] C++1y: generic lambdas, decltype(auto), and rvalue references, oh my!

2015-01-31 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64892 --- Comment #1 from Eric Niebler --- I think this is user error. I was confused between the difference between decltype(x.y) and decltype((x.y)). It seems the decltype(auto) is semantically the same as decltype((x.y)) in this case. From that pers

[Bug c++/64970] New: Hard error instead of SFINAE for expression in nested template alias

2015-02-07 Thread eric.niebler at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com The following code gives a hard error. I believe it should not. template T && declval(); template struct void_ { using type = void; }; templa

[Bug c++/63730] New: C++11 ICE REGRESSION mangling template alias into function template

2014-11-03 Thread eric.niebler at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Compile this: template using identity_t = T; template class It> void test() { } int main() { test(); } For me, with gcc 4.

[Bug c++/61738] New: ICE using template template parameters and template aliases

2014-07-07 Thread eric.niebler at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Created attachment 33083 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33083&action=edit preprocessed source The attached preprocessed code, compil

[Bug c++/62219] New: [c++11] Spurious error for lambda in a friend function of a class template with a default template parameters

2014-08-21 Thread eric.niebler at gmail dot com
: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com This code: template< class = void > struct S { friend void

[Bug c++/63438] New: conditional operator deducing lvalues incorrectly

2014-10-01 Thread eric.niebler at gmail dot com
: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target: i686-pc-cygwin Problem is with the following code: int i = 0; const int j = 0; static_assert(std::is_same::value, ""); I expect the static_assert t

[Bug c++/66712] New: [concepts] variadic concepts cause havoc

2015-06-30 Thread eric.niebler at gmail dot com
: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- template concept bool _Constructible_ = requires (Args&&...args) { T{ ((Args&&)(args))... }; }; template constexpr bool _constructible_(

[Bug c++/66758] New: [concepts] ICE compiler deeply confused by simple-seeming concept definition

2015-07-03 Thread eric.niebler at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Created attachment 35906 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35906&action=edit preprocessed

[Bug c++/66758] [concepts] ICE compiler deeply confused by simple-seeming concept definition

2015-07-03 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66758 --- Comment #1 from Eric Niebler --- Created attachment 35907 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35907&action=edit preprocessed source, bug #2(?) This might be the same bug, but the error is different. It yields: /cygdrive/c/Us

[Bug c++/66758] [concepts] ICE compiler deeply confused by simple-seeming concept definition

2015-07-10 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66758 --- Comment #4 from Eric Niebler --- Created attachment 35948 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35948&action=edit Preprocessed source, bug the third The previous fix caused the code in attachment #3 to stop working.

[Bug c++/66758] [concepts] ICE compiler deeply confused by simple-seeming concept definition

2015-07-10 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66758 Eric Niebler changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|FIXED

[Bug c++/66832] New: [concepts] parameters in requires clauses conflicting with function arguments

2015-07-10 Thread eric.niebler at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- template requires requires (T& t, U &u) { t.foo(); u.foo(); } void foo_all( T (&t)[N], U (&u)[N

[Bug c++/66834] New: [concepts] concept parameter kind mismatch causes hard error

2015-07-10 Thread eric.niebler at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Before rev 225651 (the fix for #66758), the following worked. It no longer does. Not sure if it's legit. template concept

[Bug c++/66758] [concepts] ICE compiler deeply confused by simple-seeming concept definition

2015-07-10 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66758 --- Comment #9 from Eric Niebler --- Created attachment 35950 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35950&action=edit Bug number 4 ICE ICE baby

[Bug c++/66758] [concepts] ICE compiler deeply confused by simple-seeming concept definition

2015-07-10 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66758 Eric Niebler changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|FIXED

[Bug c++/66834] [concepts] concept parameter kind mismatch causes hard error

2015-07-11 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66834 --- Comment #3 from Eric Niebler --- I was thinking that overloading the Constructible concept would be a conforming way to express this, but it doesn't seems to work. Any clue why? template concept bool Same = __is_same_as(T, U); template c

[Bug c++/66834] [concepts] concept parameter kind mismatch causes hard error

2015-07-11 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66834 --- Comment #5 from Eric Niebler --- I would expect a partial ordering to prefer the two-parameter overload in that case. But yeah, it's a separate issue.

[Bug c++/66841] New: [concepts] bogus error "invalid reference to function concept" when function concept is overloaded

2015-07-11 Thread eric.niebler at gmail dot com
Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- This is related to the discussion in https://gcc.gnu.org/bugzilla/show_bug.cg

[Bug c++/66834] [concepts] concept parameter kind mismatch causes hard error

2015-07-11 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66834 --- Comment #6 from Eric Niebler --- Exhaustively overloading Constructible to avoid the kind mismatch and the ambiguity runs into a different problem: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66841 I haven't filed an issue for the ambiguity

[Bug c++/66841] [concepts] bogus error "invalid reference to function concept" when function concept is overloaded

2015-07-12 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66841 --- Comment #2 from Eric Niebler --- This answer is deeply unsatisfying. I want valid expressions, not traits. And if std::is_constructible doesn't do *exactly* what I want (and it doesn't) I have to author my own trait, when what I want to do is

[Bug c++/66962] New: [concepts] overloaded function causing memory blow-up and ICE

2015-07-21 Thread eric.niebler at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Created attachment 36028 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36028&action=edit preprocessed source Compi

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #1 from Eric Niebler --- This is a blocker for STL2.

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #3 from Eric Niebler --- I can't make sense of that error, or understand why you get that and I don't. You tried the command line I gave above, with the latest concept-gcc built from source?

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 Eric Niebler changed: What|Removed |Added Attachment #36028|0 |1 is obsolete|

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #9 from Eric Niebler --- Jason, is there anything I can do in my code to avoid the quadratic explosion while we wait for Andrew to fix the bug?

[Bug c++/66985] New: [concept] template introduction with template template parameter and template parameter pack causes ICE

2015-07-24 Thread eric.niebler at gmail dot com
: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Code: template class T, class... U> concept bool _Valid = requires { typenam

[Bug c++/66988] New: [concepts] concept with template template parameter satisfied erroneously

2015-07-24 Thread eric.niebler at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Pretty sure the static assert in the program below should not fire, but it does. #include template class T, class

[Bug c++/66988] [concepts] concept with template template parameter satisfied erroneously

2015-07-24 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66988 --- Comment #2 from Eric Niebler --- I thought that, too. But this program has the same problem: #include template class T, class U> concept bool _Valid = requires { typename T; }; template using __t = typename T::type; template struct __

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-24 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #11 from Eric Niebler --- Removing the disjunction in the Constructible concept causes memory usage and compile time to drop to zero. The word from Andrew is that this is simply a quadratic algorithm. It is unknown whether a non-quadr

[Bug c++/67070] New: [concepts] Concept with negation and disjunction not checked correctly

2015-07-30 Thread eric.niebler at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Created attachment 36093 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36093&action=edit preprocessed

[Bug c++/67138] New: [concepts] bogus "not more constrained" error for more constrained partial specialization

2015-08-06 Thread eric.niebler at gmail dot com
NCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- template concept bool _Auto = true; template <_Auto T> struct test {}; t

[Bug c++/67139] New: [concepts] ICE on checking concepts with void

2015-08-06 Thread eric.niebler at gmail dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Created attachment 36141 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36141&action=edit preprocessed source archive Compile the attached code with -

[Bug c++/67139] [concepts] ICE on checking concepts with void

2015-08-06 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67139 --- Comment #2 from Eric Niebler --- Thanks, except that that is invalid code, and this bug is an ICE-on-valid. Here's the equivalent valid repro case: template constexpr typename T::type::value_type _v = T::type::value; template concept bool

[Bug c++/67139] [concepts] ICE on checking concepts with void with variable template

2015-08-06 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67139 Eric Niebler changed: What|Removed |Added Summary|[concepts] ICE on checking |[concepts] ICE on checking

[Bug c++/67147] New: [concepts] ICE on checking concept with default template arguments

2015-08-07 Thread eric.niebler at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- template concept bool IndirectCallableRelation() { return true; } template constexpr bool indirect_relation() { return

[Bug c++/67148] New: [concepts] Failed concept check when indirecting through a constrained trait

2015-08-07 Thread eric.niebler at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- I've reduced this as much as I can. Test case below. The two static asserts are testing the same thing, AFAICT

[Bug c++/67148] [concepts] Failed concept check when indirecting through a constrained trait

2015-08-07 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67148 --- Comment #1 from Eric Niebler --- If I replace the variadic Same concept with the binary one below, the problem goes away. template concept bool Same() { return __is_same_as(T,U); }

[Bug c++/67152] New: [concepts] bogus "partial specialization of ‘foo’ after instantiation" error

2015-08-07 Thread eric.niebler at gmail dot com
NCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- The error happens on constrained partial specializations of a template that has already been instantiate

[Bug libstdc++/97876] New: stop_token header doesn't compile on clang-8 with -std=c++20

2020-11-17 Thread eric.niebler at gmail dot com via Gcc-bugs
ormal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Compiling header with clang-8 in C++20 mode results in this: In file included from /usr/bin/../lib/gcc/x86_64-linux-g

[Bug libstdc++/97876] stop_token header doesn't compile on clang-8 with -std=c++20

2020-11-17 Thread eric.niebler at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97876 --- Comment #3 from Eric Niebler --- It seems like GitHub actions uses the latest libstdc++ by default when testing even with old (e.g., clang-4) toolsets. That seems busted, but regardless, this is now breaking _all_ my Linux clang tests for any

[Bug libstdc++/97876] stop_token header doesn't compile on clang-8 with -std=c++20

2020-11-19 Thread eric.niebler at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97876 --- Comment #5 from Eric Niebler --- > Github's poor life choices should not be our problem ;-) I thought you'd say that. :-) > If clang-8 doesn't ship and doesn't work with GCC's > , I would interpret that as you can't test with > clang-8.

[Bug c++/108848] New: Accessing class static member of non-dependent expression using member syntax in dependent context is rejected

2023-02-20 Thread eric.niebler at gmail dot com via Gcc-bugs
: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Clang accepts the following, gcc thinks the expression in the line

[Bug c++/114138] New: [c++2b] ICE on valid code using `auto(expr)` DECAY-COPY

2024-02-27 Thread eric.niebler at gmail dot com via Gcc-bugs
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Compile the following with -c++=2b: ``` namespace std { template T&& declval() noexcept requires true; template void

[Bug c++/111018] New: lexical interpretation of friendship rules depends on whether the friend function has a definition

2023-08-14 Thread eric.niebler at gmail dot com via Gcc-bugs
: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Starting in gcc 12, transitive friendship is extended to friend functions that are defined

[Bug c++/109754] New: [ICE] internal compiler error: in coerce_template_parms, at cp/pt.cc:9183

2023-05-05 Thread eric.niebler at gmail dot com via Gcc-bugs
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Created attachment 55012 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55012&action=edit result of -frep

[Bug c++/105667] [C++20] lambas in template argument sometimes causes an ICE (seg fault)

2023-05-08 Thread eric.niebler at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105667 Eric Niebler changed: What|Removed |Added CC||eric.niebler at gmail dot com

[Bug c++/109781] New: erroneous error "lambda-expression in template parameter type" for tparam lambda returning a lambda

2023-05-08 Thread eric.niebler at gmail dot com via Gcc-bugs
Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- template struct C {}; ... on trunk with `-std=c++20` results in: : In lambda funct

[Bug c++/109782] New: erroneous error "'auto' parameter not permitted in this context" for generic lambda in tparam list

2023-05-08 Thread eric.niebler at gmail dot com via Gcc-bugs
0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- template struct C {}; ...compiled with `-std=c++20` results in: :1:23: err

[Bug c++/109790] New: internal compiler error in write_member_name, at cp/mangle.cc:2992

2023-05-09 Thread eric.niebler at gmail dot com via Gcc-bugs
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Created attachment 55032 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55032&action=edit the result of -freport-bug

[Bug c++/109790] internal compiler error in write_member_name, at cp/mangle.cc:2992

2023-05-09 Thread eric.niebler at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109790 --- Comment #1 from Eric Niebler --- Possible dupe of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100632

[Bug c++/115114] New: aggregate initialization with parens fails when there is a base class

2024-05-15 Thread eric.niebler at gmail dot com via Gcc-bugs
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- I believe the following is valid C++20: struct get_answer {}; template struct with : Query { Value value

[Bug c++/115378] New: [ice-on-valid] code using friend injection is crashing gcc since 14

2024-06-06 Thread eric.niebler at gmail dot com via Gcc-bugs
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- the following valid code crashes gcc-14 and gcc-trunk. clang accepts it, as does gcc-13. see https://godbolt.org/z/s9frvq3Pv

[Bug c++/110441] New: c++17 deferred materialization of temporaries fails when calling class static with member syntax

2023-06-27 Thread eric.niebler at gmail dot com via Gcc-bugs
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- struct immovable { immovable() = default; immovable(immovable &&) = delete; };

[Bug libstdc++/110507] New: cannot initialize immovable type in a std::tuple

2023-06-30 Thread eric.niebler at gmail dot com via Gcc-bugs
: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- The following should work since C++17, when C++ got guaranteed copy elision. #include struct immovable { immovable() = default; immovable(immovable

[Bug c++/110536] New: Bogus -Wstringop-overflow warning in std::transform

2023-07-03 Thread eric.niebler at gmail dot com via Gcc-bugs
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Compile the following with -O3 -std=c++17 -Wall <<<<< #include #include template std::vector make_type_param_vector(std::initializer_list c

  1   2   >