[Bug c++/78308] Hiding of member function templates introduced by using-decl

2017-03-24 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78308 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #1 from TC

[Bug c++/79549] ICE in tsubst, at cp/pt.c:13474 with partial specialization of auto... template parameter pack

2017-02-16 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79549 --- Comment #3 from TC --- -std=c++1z, of course. http://melpon.org/wandbox/permlink/kxNlvdtfvjCW5fNN

[Bug c++/79550] New: ICE in tsubst, at cp/pt.c:13474 with partial specialization of auto... template parameter pack

2017-02-15 Thread rs2740 at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- template struct meow; template struct meow { }; template struct meow<1>; prog.cc: In substi

[Bug c++/79549] New: ICE in tsubst, at cp/pt.c:13474 with partial specialization of auto... template parameter pack

2017-02-15 Thread rs2740 at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- template struct meow; template struct meow { }; template struct meow<1>; prog.cc: In substi

[Bug c++/70844] spurious -Wuseless-cast warning with inherited constructors

2017-01-31 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70844 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #1 from TC

[Bug libstdc++/79195] make_array should not ask for common_type when the type is explicitly specified

2017-01-23 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79195 --- Comment #1 from TC --- While we are here, the `return {{forward<_Types>(__t)...}};` in the body should call std::forward qualified.

[Bug libstdc++/79195] New: make_array should not ask for common_type when the type is explicitly specified

2017-01-23 Thread rs2740 at gmail dot com
: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- This does not compile: #include struct A {}; struct B : A {}; struct C : A {}; auto arr = std::experimental

[Bug libstdc++/77451] Cannot convert lambda [](auto&&...){} to std::function<void()>

2017-01-13 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77451 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #1 from TC

[Bug libstdc++/77528] std::queue default constructor unnecessarily creates temporary of underlying Container

2017-01-10 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77528 --- Comment #10 from TC --- C'ing the relevant parts of my email to the lists here for the record: The new default member initializers use {}, and it's not too hard to find test cases where {} and value-initialization do different things,

[Bug c++/78890] [5/6/7 Regression] ICE on invalid reference type in union

2017-01-02 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78890 --- Comment #7 from TC --- (In reply to Jakub Jelinek from comment #6) > Sure, I just wanted to understand why the r211318 change has been done and > my comment lists why I think that happened. Ah, my fault for not actually reading the patch.

[Bug c++/78890] [5/6/7 Regression] ICE on invalid reference type in union

2017-01-02 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78890 --- Comment #5 from TC --- (In reply to Jakub Jelinek from comment #4) > Apparently what changed in C++11 is that it allows static > data members in unions and those clearly can have reference type, so that is > the reason why the restriction

[Bug c++/78890] [5/6/7 Regression] ICE on invalid reference type in union

2016-12-29 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78890 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #3 from TC

[Bug c++/78928] New: void(*); accepted in block scope

2016-12-25 Thread rs2740 at gmail dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- From http://stackoverflow.com/q/41326047/2756719. GCC accepts this plainly invalid code: void f() { void(*); } It appears that any combination of ptr

[Bug c++/78693] New: [6/7 Regression] Bogus 'inconsistent deduction for ‘auto’' error when having a dependent initializer and a nondependent one in the same declaration

2016-12-06 Thread rs2740 at gmail dot com
Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone

[Bug c++/78457] attempt to instantiate unused template

2016-11-21 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78457 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #1 from TC

[Bug c++/78446] New: Ambiguous member lookup for operator() in a function call expression treated as hard error in SFINAE context

2016-11-21 Thread rs2740 at gmail dot com
Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Reduced from http://stackoverflow.com/q

[Bug libstdc++/78389] New: list::merge and list::sort are not exception safe

2016-11-16 Thread rs2740 at gmail dot com
: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- If a comparison throws in the middle of the loop, - list::merge will have spliced some elements over without updating the size of the lists. - list::sort will destroy any

[Bug libstdc++/66742] abort on sorting list with custom allocator that is not stateless

2016-11-16 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66742 --- Comment #9 from TC --- The ugly fix in Comment #6 should be performant, if, well, ugly. It may be worth considering holding the nodes via a different type. There's no real reason why the temporary holders need to be a `list` or have a copy

[Bug c++/78388] New: Bogus "declaration shadows template parameter" error with parenthesized function-style casts

2016-11-16 Thread rs2740 at gmail dot com
NCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Reduced from http://stackoverflow.com/q/40637781/2756719: templ

[Bug libstdc++/78371] New: list::sort doesn't work with non-default-constructible allocators

2016-11-15 Thread rs2740 at gmail dot com
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- It default constructs the 1+64 temporary lists, which 1) likely does the wrong thing for stateful allocators and 2) won't compile

[Bug c++/78358] [7 Regression] wrong types for std::tuple decomposition

2016-11-15 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78358 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #4 from TC

[Bug libstdc++/78302] is_move_constructible_v<tuple> should be false

2016-11-10 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78302 --- Comment #2 from TC --- Ugh, quasi-dup, I suppose. But if I'm reading the correspondence correctly, the ABI breaking is only because of triviality, correct? So if we just want to make is_move_constructible not lie, it should be possible to

[Bug libstdc++/78302] New: is_move_constructible_v<tuple> should be false

2016-11-10 Thread rs2740 at gmail dot com
ty: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- #include #include struct nonmovable { nonmovable(nonmovable&&) = delete; }; static_assert(!std::is_move_constructible_v<std::tuple

[Bug libstdc++/78273] New: The transparent version of {map,set}::count should call _M_count_tr

2016-11-09 Thread rs2740 at gmail dot com
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- They are currently > template > auto > count(const _Kt& __x) const > -> decltype(_

[Bug c++/70163] C++ DR 257 constructor forward to virtual base class's constructor in an abstract class required

2016-11-04 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70163 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #2 from TC

[Bug c++/78163] ref-qualified function type incorrectly accepted in function parameter type

2016-10-31 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78163 --- Comment #2 from TC --- (In reply to Martin Liška from comment #1) > For: > $ gcc --version > gcc (SUSE Linux) 6.2.1 20160830 [gcc-6-branch revision 239856] > > $ gcc pr78163.c > pr78163.c:1:16: error: expected ‘;’, ‘,’ or ‘)’ before ‘&’

[Bug c++/78163] New: ref-qualified function type incorrectly accepted in function parameter type

2016-10-30 Thread rs2740 at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- void f(void () &); void g(void (*)() &); void h(void (&)() &); void i(void (* const &)() &); None of these

[Bug c++/69905] Digit separators break literal operators

2016-10-26 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69905 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #4 from TC

[Bug c++/67200] Copy elision and implicit move in return performed in cases not allowed by standard

2016-09-29 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67200 TC changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug c++/77712] New: int() is incorrectly treated as a null pointer constant in C++11 and later

2016-09-23 Thread rs2740 at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- GCC accepts int *p = int(); even though per DR 903, only integer literals with the value zero are null pointer constants

[Bug c++/77616] A variadic polymorphic lambda call fails with zero arguments

2016-09-19 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77616 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #1 from TC

[Bug libstdc++/77619] New: uninitialized_meow_construct and friends not exception safe

2016-09-16 Thread rs2740 at gmail dot com
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- The new uninitialized_{default,value}_construct(_n)? and uninitialized_move(_n)? implementations are not exception safe: previously

[Bug c++/77575] New: Bogus error when alias template yielding a reference type used as template template argument

2016-09-12 Thread rs2740 at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Reduced from http://stackoverflow.com/q/39460120/2756719: template class> struct meow {}; template using ki

[Bug libstdc++/77528] std::queue default constructor unnecessarily creates temporary of underlying Container

2016-09-11 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77528 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #2 from TC

[Bug c++/76262] list-initialization prefers initializer_list over copy constructor

2016-08-16 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76262 --- Comment #3 from TC --- (In reply to Jonathan Wakely from comment #2) > In which case both EDG and Clang get this wrong, as they print "12" I know that Clang 3.7+ implemented DR1467 without 2137 (in which case "12" would be the right output)

[Bug c++/76262] list-initialization prefers initializer_list over copy constructor

2016-08-15 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76262 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #1 from TC

[Bug c++/56701] [C++11] The *this* pointer fails to bind to rvalue reference to pointer type

2016-08-14 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56701 --- Comment #7 from TC --- *** Bug 69208 has been marked as a duplicate of this bug. ***

[Bug c++/69208] &*this should not be const-qualified

2016-08-14 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69208 TC changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c++/71774] New: Bogus "is protected" error when list-initializing a base class with a defaulted protected constructor and a virtual function

2016-07-05 Thread rs2740 at gmail dot com
oduct: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Reduced from http://stackoverflow.com/q/382138

[Bug c++/71332] Passing non-copyable type by reference to variadic generic lambda after a copyable type by value results in a compile-time error

2016-05-29 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71332 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #1 from TC

[Bug c++/71099] New: Misleading diagnostic message with 'virtual' used in out-of-line definitions of class template member functions

2016-05-13 Thread rs2740 at gmail dot com
Status: UNCONFIRMED Keywords: diagnostic Severity: minor Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- GCC correctly diagnoses the problem

[Bug c++/70796] [DR 1030] Initialization order with braced-init-lists still broken

2016-05-09 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70796 --- Comment #2 from TC --- It occurred to me that one issue here is whether initialization of the parameter object (of the constructor) is considered a "value computation [or] side effect associated with" an initializer-clause. If not, then the

[Bug c++/70972] [6/7 Regression] Inheriting constructors taking parameters by value should move them, not copy

2016-05-06 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70972 --- Comment #2 from TC --- Not exactly that familiar with GCC, but looking at https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/cp/method.c?r1=233719=233718=233719 tree type = TREE_TYPE (parm); if (DECL_PACK_P (parm)) type =

[Bug c++/70972] [6/7 Regression] Inheriting constructors taking parameters by value should move them, not copy

2016-05-06 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70972 --- Comment #1 from TC --- Originally from http://stackoverflow.com/q/37064993/2756719

[Bug c++/70972] New: [6/7 Regression] Inheriting constructors taking parameters by value should move them, not copy

2016-05-06 Thread rs2740 at gmail dot com
Keywords: rejects-valid, wrong-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- The following code, accepted by GCC 5.3, fails to compile in GCC

[Bug c++/70942] [6/7 Regression] [c++14] Incorrect deduction of generic lambda `auto&&` parameter

2016-05-04 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70942 --- Comment #2 from TC --- This only appears to affect captureless generic lambdas with a deduced return type. It might have something to do with the conversion function template to function pointer - I'm guessing that it was somehow

[Bug c++/70943] New: 'conflicting declaration' error with repeated typedefs in function templates

2016-05-04 Thread rs2740 at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- template void foo(T t) { using meow = T; using meow = int; } template void foo(int); Accepted by clang, rejected by GCC

[Bug c++/70942] [c++14] Incorrect deduction of generic lambda `auto&&` parameter

2016-05-04 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70942 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #1 from TC

[Bug libstdc++/70101] Allocator-extended priority_queue constructors are badly broken

2016-05-02 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70101 --- Comment #1 from TC --- Test case for everything except the first: #include #include #include #include #include struct Cmp : std::less { explicit Cmp(int) {}; }; Cmp comp(1); std::allocator alloc; std::vector vec; using PQ =

[Bug c++/70796] New: [DR 1030] Initialization order with braced-init-lists still broken

2016-04-25 Thread rs2740 at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- The following modified test case (replacing postfix ++ with prefix and adjusting the expected values accordingly) from PR61382 still aborts

[Bug libstdc++/70766] New: stream iterators, shared_lock, and atomic should all use addressof and not

2016-04-22 Thread rs2740 at gmail dot com
rity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- 1) istream_iterator and ostream_iterator's constructors and istream_iterator's operator-> should use __ad

[Bug libstdc++/70472] is_copy_constructible<vector<unique_ptr>>::value is true

2016-04-19 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70472 --- Comment #7 from TC --- (In reply to Jonathan Wakely from comment #6) > (In reply to TC from comment #5) > > In any event, it would be wrong to SFINAE on > > std::is_copy_constructible. The requirement is CopyInsertable, > > not

[Bug c++/70667] SFINAE error disambiguating using alignas

2016-04-18 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70667 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #1 from TC

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

2016-04-18 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60799 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #4 from TC

[Bug libstdc++/70472] is_copy_constructible<vector<unique_ptr>>::value is true

2016-04-18 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70472 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #5 from TC

[Bug c++/70642] New: Invalid alias template instantiation not rejected if previously used in SFINAE context

2016-04-12 Thread rs2740 at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Reduced from http://stackoverflow.com/q/36578055/2756719. The following ill-formed code is incorrectly accepted by GCC

[Bug c++/70587] 0e1_p+0 should not be parsed as a single pp-number in C++14 and earlier

2016-04-07 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70587 TC changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Version|6.0

[Bug c++/70587] New: 0e1_p+0 should not be parsed as a single pp-number in C++14 and earlier

2016-04-07 Thread rs2740 at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- p/P followed by +/- is not part of the pp-number production in C++ before C++17, but GCC includes them anyway. This results

[Bug c++/70585] New: Bogus 'ambiguous template instantiation' error with partial specializations involving a pack expansion

2016-04-07 Thread rs2740 at gmail dot com
: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Repro: template class meow; template struct purr; template struct purr<T, meow...> {}; te

[Bug c++/70383] New: Bogus error when attempting to capture a reference to function by copy

2016-03-23 Thread rs2740 at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Repro: void meow() { void purr(); void ()() = purr; [f]{}; } Per [expr.prim.lambda]/15, capturing a reference

[Bug c++/53637] NRVO not applied where there are two different variables involved

2016-03-08 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53637 --- Comment #8 from TC --- The standard specifies when copy elision is allowed (http://eel.is/c++draft/class.copy#31). "return param ? a : b;" is not one of them. "param ? a : b" is hardly "the name of a non-volatile automatic object..."

[Bug c++/53637] NRVO not applied where there are two different variables involved

2016-03-07 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53637 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #6 from TC

[Bug libstdc++/70101] New: Allocator-extended priority_queue constructors are badly broken

2016-03-05 Thread rs2740 at gmail dot com
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- None of them is implemented correctly, and several won't compile if actually used. template> expli

[Bug c++/67013] Compilation error for well-formed program with empty declaration in the global namespace

2016-02-28 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67013 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #11 from TC

[Bug c++/69778] New: Bogus "qualifiers cannot be applied" error with redundant (but legal) 'typename'

2016-02-11 Thread rs2740 at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Modified repro from http://stackoverflow.com/q/35352168/2756719: struct A { typedef int& reference; };

[Bug c++/69774] Corrupted 'this' passed through lambda.

2016-02-11 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69774 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #2 from TC

[Bug libstdc++/68515] std::result_of<F(X)> doesn't work when F is abstract (with pure virtual functions)

2016-02-09 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68515 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #3 from TC

[Bug c++/69139] [4.9/5/6 Regression] deduction failure with trailing return type in function template argument

2016-02-07 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69139 --- Comment #3 from TC --- Another test case, slightly modified from the original in the linked SO question: struct X { auto get(int) const & -> int { return {}; } auto get(int) && -> long { return {}; } }; template auto f(auto

[Bug c++/69515] New: partial specialization of variable templates is broken

2016-01-27 Thread rs2740 at gmail dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Reduced from http://stackoverflow.com/q/35027853/2756719: struct A { A(int = 0); }; template class meow; template A foo; template A foo<meow> = 1; auto&&

[Bug libstdc++/69478] New: [4.9/5/6 Regression] std::copy/std::move broken with trivial move-only types

2016-01-25 Thread rs2740 at gmail dot com
: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Reduced from http://stackoverflow.com/q/35002402/2756719, repro: #include #include class A { public: A() = default

[Bug libstdc++/69478] [4.9/5/6 Regression] std::copy/std::move broken with trivial move-only types

2016-01-25 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69478 --- Comment #1 from TC --- It seems that the static_assert should check _IsMove and use either is_copy_assignable<_Tp> or is_move_assignable<_Tp> depending on its value.

[Bug c++/69449] New: Some invalid fold expressions incorrectly accepted

2016-01-23 Thread rs2740 at gmail dot com
: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Repro: struct A { A(int = 0); A operator+(A) const; }; struct B { B(int = 0); operator int() const; }; template void f(){ (A() + A() + ... + A(Is)); // compiles

[Bug c++/69448] New: Abbreviated function templates with deduced return type still broken

2016-01-23 Thread rs2740 at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- PR64969 fixed cases where an abbreviated function template returns 'auto' or 'decltype(auto)' (or have a trailing return type

[Bug c++/69436] Method returning "auto&" fails to resolve "*this" (-std=c++17)

2016-01-22 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69436 --- Comment #4 from TC --- Although this still breaks on trunk GCC on Wandbox: long x; auto& f(auto) { return x; } auto* g(auto) { return } auto r = f(1); auto p = g(1); prog.cc: In instantiation of 'auto& f(auto:1) [with auto:1 = int]':

[Bug c++/69436] Method returning "auto&" fails to resolve "*this" (-std=c++17)

2016-01-22 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69436 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #3 from TC

[Bug libstdc++/69287] libstdc++-v3/include/debug/functions.h:297: bad comparison ?

2016-01-14 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69287 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #1 from TC

[Bug c++/69215] New: Improve diagnostic for 'for(i : v)'

2016-01-09 Thread rs2740 at gmail dot com
: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Something like #include int main(){ std::vector v; for(i : v) {} } produces a storm of not-very-enlightening errors on trunk: prog.cc

[Bug c++/69208] New: &*this should not be const-qualified

2016-01-09 Thread rs2740 at gmail dot com
t: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Repro: struct A { void f(){ A*&& a = &*this; } }; results in: prog.cc: In member function 'void A::f()': prog.cc:3:24: error: binding 'A* const' to reference of type

[Bug libstdc++/69116] [4.9/5/6 Regression] compile error when including valarray

2016-01-05 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69116 --- Comment #2 from TC --- I don't think this has anything to do with `end`. Consider the following code: #include template struct foo { T f(); void g(T); }; template void operator<<(const T&, const foo&) {} struct x : public

[Bug c++/69139] New: [4.9/5/6 Regression] deduction failure with trailing return type in function template argument

2016-01-04 Thread rs2740 at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Test case (modified from http://stackoverflow.com/q/31229359/2756719): auto get(int) -> int { ret

[Bug c++/69131] New: [4.9/5/6 Regression] default constructor of union incorrectly deleted

2016-01-03 Thread rs2740 at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- From http://stackoverflow.com/q/34581372/2756719, repro: struct X { ~X() {} }; union U { X x; ~U() {} }; U u; The default

[Bug libstdc++/69114] New: A couple allocator-related helpers should use __addressof

2016-01-01 Thread rs2740 at gmail dot com
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- __use_alloc in and __outermost in take the address of an allocator with &. They should use __addressof instead. (__outermost doesn't

[Bug c++/68071] Generic lambda variadic argument pack cannot be empty

2015-12-31 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68071 --- Comment #3 from TC --- This looks like a duplicate of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64095

[Bug c++/69103] New: Misleading diagnostic for invalid constexpr initialization

2015-12-31 Thread rs2740 at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Consider: static int i; static int* temp = static constexpr int *& = static_cast<int*&&>(temp) + 1; This correctly doesn't com

[Bug libstdc++/69106] New: std::promise should tolerate overloaded

2015-12-31 Thread rs2740 at gmail dot com
stdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Test case: #include struct foo { void operator&() const = delete; }; int main() { std::promise p; p.set_value(foo()); } results in: In file included from

[Bug libstdc++/69105] New: front_/back_/insert_iterator should use addressof

2015-12-31 Thread rs2740 at gmail dot com
: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Test case: #include #include struct test : std::deque { void operator&() const = delete; }; int main() { test t; std::back_insert_iterator b(t);

[Bug libstdc++/69092] New: basic_string constructor and throwing iterators

2015-12-30 Thread rs2740 at gmail dot com
: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- basic_string(ForwardIt, ForwardIt) eventually calls _S_copy_chars(), which is marked _GLIBCXX_NOEXCEPT, so an exception thrown from an iterator operation inside

[Bug c++/69016] In C++14 standard, function with auto as return and arguments returns result with the datatype of first argument only

2015-12-23 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69016 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #3 from TC

[Bug c++/69023] bitset whose name is used in constant-expression rejected

2015-12-23 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69023 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #3 from TC

[Bug c++/67669] Wrong works fwrite or fread or both

2015-12-21 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67669 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #5 from TC

[Bug libstdc++/68995] Including both and can cause ADL problems in std::function SFINAE

2015-12-20 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68995 --- Comment #3 from TC --- (In reply to Jonathan Wakely from comment #2) > (In reply to Andrew Pinski from comment #1) > > I think TR1 is considered as non-supported now. > > Pretty much. The documentation may need updating if that's the case.

[Bug c++/58109] alignas() fails to compile with constant expression

2015-12-19 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58109 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #5 from TC

[Bug libstdc++/68995] New: Including both and can cause ADL problems in std::function SFINAE

2015-12-19 Thread rs2740 at gmail dot com
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Repro adapted from http://stackoverflow.com/q/34334735/2756719: #include #include #include std::tr1::shared_ptr test() { return

[Bug c++/68957] New: Wrong overload resolution for unscoped enums with fixed underlying type

2015-12-17 Thread rs2740 at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Repro: #include enum E : char { e }; void f(char) { puts(__PRETTY_FUNCTION__); } void f(int) { puts(__PRETTY_FUNCTION__); } int

[Bug libstdc++/68869] New: map::insert(P&&) broken in some cases

2015-12-11 Thread rs2740 at gmail dot com
libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- According to the standard ([map.modifiers]), template pair<iterator, bool> insert(P&& x); is equivalent to return emplace(std::forward(x)), provided that

[Bug libstdc++/68869] map::insert(P&&) broken in some cases

2015-12-11 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68869 --- Comment #3 from TC --- This was http://cplusplus.github.io/LWG/lwg-defects.html#2005. I don't think the S example breaks any rule in the pre-LWG2005 version, either. That version requires that "P shall be convertible to value type", and

[Bug c++/68288] botched floating-point UDL

2015-11-12 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68288 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #1 from TC

[Bug c++/68071] Generic lambda variadic argument pack cannot be empty

2015-11-03 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68071 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #1 from TC

[Bug c++/68177] New: Lambda capture doesn't work correctly when lambda is used in a pack expansion

2015-11-01 Thread rs2740 at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Repro: void swallow(...) {} template void foo() { int t = 0; swallow( ([]{return 0;}(), Is)... ); } int main

[Bug libstdc++/68139] New: rethrow_if_nested should tolerate overloaded unary operator

2015-10-28 Thread rs2740 at gmail dot com
rmal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Test case: #include struct C { virtual ~C(){} void operator&() const = delete; }; int main() { std::rethrow_if_

<    1   2   3   >