[Bug c++/61892] RVO not occurs with constructor with universal reference arguments

2014-07-24 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61892 TC rs2740 at gmail dot com changed: What|Removed |Added CC||rs2740 at gmail dot com

[Bug c++/62110] Attempting to use template conversion operator in a contextual conversion

2014-08-12 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62110 TC rs2740 at gmail dot com changed: What|Removed |Added CC||rs2740 at gmail dot com

[Bug c++/63217] New: template conversion operator returning const reference not used for conversion in some cases

2014-09-10 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 Minimized repro: struct foo { templateclass T operator const T () { static T t {}; return t;} }; int main() { int t((foo

[Bug c++/60009] g++ allows copy-initialization of an array of class type from a non-braced string literal

2014-06-24 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60009 TC rs2740 at gmail dot com changed: What|Removed |Added CC||rs2740 at gmail dot com

[Bug c++/64969] New: generic functions do not work with placeholder return types

2015-02-07 Thread rs2740 at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com GCC 4.9 added generic functions based on the draft Concepts Lite TS N3889. (They now called abbreviated function templates.) However, the implementation does not work

[Bug c++/64679] New: Spurious redefinition error when parsing not-quite-most-vexing-parse declarations

2015-01-19 Thread rs2740 at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Repro: class Bar{ public: Bar(int, int, int); }; int main () { int x = 1; Bar bar(int(x), int(x), int{x}); } gcc HEAD 5.0.0 20150119

[Bug libstdc++/65092] New: Container adaptors missing allocator-extended constructors

2015-02-17 Thread rs2740 at gmail dot com
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com The allocator-extended constructors of std::stack, std::queue and std::priority_queue are missing.

[Bug libstdc++/65352] New: arrayT,0::begin()/end() etc. forms a null reference and breaks on clang+ubsan

2015-03-08 Thread rs2740 at gmail dot com
: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Repro: #include array int main(){ std::arrayint, 0 foo; foo.begin(); // or end(), etc. } Output (http://coliru.stacked-crooked.com

[Bug c++/62116] Allowing redeclaration of global variable x using ::x

2015-03-14 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62116 TC rs2740 at gmail dot com changed: What|Removed |Added CC||rs2740 at gmail dot com

[Bug libstdc++/65352] arrayT,0::begin()/end() etc. forms a null reference and breaks on clang+ubsan

2015-03-12 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65352 --- Comment #3 from TC rs2740 at gmail dot com --- Depends on how http://cplusplus.github.io/LWG/lwg-active.html#2443 comes out in LEWG, it might be a good idea to go with a solution that maintains the `constexpr`-ness so that it doesn't have

[Bug c++/65415] New: using, base class static member function template, and decltype

2015-03-12 Thread rs2740 at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com From http://stackoverflow.com/questions/29013260. Minimized repro: struct default_check { templatetypename U static int check(...); }; struct is_addable

[Bug libstdc++/65543] New: rvalue stream insertion and extraction operators incorrectly implemented

2015-03-24 Thread rs2740 at gmail dot com
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Repro: #include iostream #include sstream struct A{}; void operator(std::ostream , A const ){ } void operator(std::istream , A ){ } int main

[Bug libstdc++/65543] rvalue stream insertion and extraction operators incorrectly implemented

2015-03-24 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65543 --- Comment #1 from TC rs2740 at gmail dot com --- (In reply to TC from comment #0) which breaks if the operator called does not return a reference stream. A similar issue affects operator for rvalue streams. I meant a reference to the stream.

[Bug libstdc++/65631] New: seed_seq should not be copyable

2015-03-30 Thread rs2740 at gmail dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com From http://stackoverflow.com/q/29350040/2756719, repro: #include random int main(int, char **) { std::seed_seq seed1{1337, 42}; std::seed_seq seed2(seed1); std::seed_seq seed3 = seed2; return 0; } Per

[Bug c++/65520] New: elaborated-type-specifiers and inaccessible injected-class-names

2015-03-22 Thread rs2740 at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Repro: struct A {}; struct B : private A {}; struct C : public B { struct A m_a; // error: A is the inaccessible injected-class-name }; Per [basic.lookup.elab

[Bug libstdc++/64865] std::allocator::construct/destroy not called for specialization of std::allocatortrivialtype

2015-01-30 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64865 TC rs2740 at gmail dot com changed: What|Removed |Added CC||rs2740 at gmail dot com

[Bug c++/66109] defining constexpr objects without initializer

2015-05-11 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66109 TC rs2740 at gmail dot com changed: What|Removed |Added CC||rs2740 at gmail dot com

[Bug c++/66350] typename should be forbidden in inhering constructors

2015-06-04 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66350 TC rs2740 at gmail dot com changed: What|Removed |Added CC||rs2740 at gmail dot com

[Bug c++/66548] New: Invalid class member access expression in decltype sometimes accepted

2015-06-15 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 code is accepted by GCC 5.1 and 6.0.0 20150615 (experimental), even though it is plainly invalid: struct Meow {}; int

[Bug c++/66548] Invalid class member access expression in decltype sometimes accepted

2015-06-15 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66548 --- Comment #1 from TC rs2740 at gmail dot com --- See also http://stackoverflow.com/q/30856911/2756719

[Bug libstdc++/54351] ~unique_ptr() should not set stored pointer to null

2015-05-27 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54351 --- Comment #14 from TC rs2740 at gmail dot com --- Well, I would have argued that if the specification doesn't say that a function does X, then it doesn't do X. NullablePointer/CopyAssignable only means that the assignment operation must

[Bug libstdc++/54351] ~unique_ptr() should not set stored pointer to null

2015-05-26 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54351 TC rs2740 at gmail dot com changed: What|Removed |Added CC||rs2740 at gmail dot com

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

2015-08-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: --- Consider: struct A { A() = default; A(const A) = delete; A(A) = default; }; A f() { A a; return true

[Bug c++/66990] New: Wrong diagnostics when template being specialized is ambiguous

2015-07-24 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: namespace A { inline namespace B { templateclass struct C; } templateclass struct C; template struct Cint{}; } Lookup

[Bug c++/66990] Wrong diagnostics when template being specialized is ambiguous

2015-07-24 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66990 TC rs2740 at gmail dot com changed: What|Removed |Added Keywords||diagnostic --- Comment #1

[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_

[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++/63176] std::generate_canonical<float, std::numeric_limits::digits>() generates 1.0f

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

[Bug libstdc++/66624] libstdc++ iostream uninitialized data

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

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

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

[Bug c++/67829] New: Bogus "ambiguous template instantiation" error with partial specializations involving a template template parameter

2015-10-02 Thread rs2740 at gmail dot com
Version: 6.0 Status: 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 Purr { }; template<template class,

[Bug c++/67633] New: decltype on parenthesized class member access of a prvalue sometimes return wrong results

2015-09-18 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: --- Per the resolution of CWG 616, given struct A { double x; };, decltype((A().x)) should be double&&.

[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++/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 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 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 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++/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 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++/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++/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++/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++/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++/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 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++/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 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++/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 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++/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 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++/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++/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++/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 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++/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++/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++/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-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 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 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 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 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 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++/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++/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++/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++/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] [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 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++/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 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 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++/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++/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++/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++/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] 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++/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 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

  1   2   3   >