[Bug libstdc++/59611] New: std::copy performs worse than naive implementation when copying a single known byte

2013-12-27 Thread gcc-bugzilla at contacts dot eelis.net
Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: gcc-bugzilla at contacts dot eelis.net Created attachment 31524 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31524action=edit Testcase The attached testcase

[Bug libstdc++/59611] std::copy performs worse than naive implementation when copying a single known byte

2013-12-27 Thread gcc-bugzilla at contacts dot eelis.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59611 --- Comment #1 from Eelis gcc-bugzilla at contacts dot eelis.net --- (With -O3)

[Bug libstdc++/56785] std::tuple of two elements does not apply empty base class optimization when one of its elements is a std::tuple with two elements

2014-06-16 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56785 Eelis gcc-bugzilla at contacts dot eelis.net changed: What|Removed |Added CC||gcc

[Bug libstdc++/56785] std::tuple of two elements does not apply empty base class optimization when one of its elements is a std::tuple with two elements

2014-06-17 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56785 --- Comment #6 from Eelis gcc-bugzilla at contacts dot eelis.net --- Clang's libc++ (which gives the expected result) might be another source of inspiration.

[Bug libstdc++/56785] std::tuple of two elements does not apply empty base class optimization when one of its elements is a std::tuple with two elements

2014-06-18 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56785 --- Comment #8 from Eelis gcc-bugzilla at contacts dot eelis.net --- With Clang 3.5, given struct X: std::tuple { char c; }; I get sizeof(X)==1. Is that not what you mean?

[Bug libstdc++/56785] std::tuple of two elements does not apply empty base class optimization when one of its elements is a std::tuple with two elements

2014-06-18 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56785 --- Comment #10 from Eelis gcc-bugzilla at contacts dot eelis.net --- I see what you mean! And while stuff with empty types and EBO is IMHO not nearly as serious as random superfluous bytes that are inserted when you use tuples of a bread

[Bug libstdc++/56785] std::tuple of two elements does not apply empty base class optimization when one of its elements is a std::tuple with two elements

2014-06-23 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56785 --- Comment #12 from Eelis gcc-bugzilla at contacts dot eelis.net --- Ooh, very nice! Thanks!

[Bug libstdc++/46332] New: __cxa_demangle yields excess parentheses for function types

2010-11-06 Thread gcc-bugzilla at contacts dot eelis.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46332 Summary: __cxa_demangle yields excess parentheses for function types Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3

[Bug other/46332] __cxa_demangle yields excess parentheses for function types

2010-11-09 Thread gcc-bugzilla at contacts dot eelis.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46332 --- Comment #3 from Eelis gcc-bugzilla at contacts dot eelis.net 2010-11-09 17:26:40 UTC --- (In reply to comment #2) I'm pretty sure to have seen this behavior mentioned already... You may be thinking of bug #36002. That one was about errors

[Bug c++/46466] New: [C++0X] ICE when using constexpr with -fno-elide-constructors

2010-11-13 Thread gcc-bugzilla at contacts dot eelis.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46466 Summary: [C++0X] ICE when using constexpr with -fno-elide-constructors Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3

[Bug c++/11701] Typeof problems in detecting whether its argument is a type or an expression

2012-03-22 Thread gcc-bugzilla at contacts dot eelis.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11701 --- Comment #2 from Eelis gcc-bugzilla at contacts dot eelis.net 2012-03-22 21:56:17 UTC --- For what it's worth: as the original reporter, I no longer care about this bug (or typeof in general), because we now have C++11 with decltype. :)

[Bug middle-end/12086] memcmp(i,j,4) should use word (SI) subtraction

2014-11-16 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=12086 Eelis gcc-bugzilla at contacts dot eelis.net changed: What|Removed |Added CC||gcc

[Bug libstdc++/64128] New: Let vector take advantage of malloc_usable_size for malloc-using allocators

2014-11-30 Thread gcc-bugzilla at contacts dot eelis.net
: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: gcc-bugzilla at contacts dot eelis.net Created attachment 34150 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34150action=edit testcase Changing this-_M_impl

[Bug libstdc++/64128] Let vector take advantage of malloc_usable_size for malloc-using allocators

2014-11-30 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64128 --- Comment #1 from Eelis gcc-bugzilla at contacts dot eelis.net --- Hmm, std::allocator::allocate calls ::operator new, which may be user-defined, so maybe there is no practical way to detect whether it is really using malloc. :(

[Bug libstdc++/64128] Let vector take advantage of malloc_usable_size for malloc-using allocators

2014-12-01 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64128 --- Comment #4 from Eelis gcc-bugzilla at contacts dot eelis.net --- Yeah, I noticed that tcmalloc is also way faster, and since tcmalloc barely over-allocates for the sizes requested by vector, there is no benefit to using malloc_usable_size

[Bug middle-end/12086] memcmp(i,j,4) should use word (SI) subtraction

2014-12-24 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=12086 --- Comment #13 from Eelis gcc-bugzilla at contacts dot eelis.net --- It's also worth noting that this affects operator== for std::array. :(

[Bug c++/64450] New: Optimize 0=p-q to q=p for char*p,*q;

2014-12-30 Thread gcc-bugzilla at contacts dot eelis.net
: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gcc-bugzilla at contacts dot eelis.net Created attachment 34365 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34365action=edit Testcase It was noticed that Boost's iterator_facade incurred a performance penalty (while

[Bug c++/59354] Unexpected result in g++ when casting int to char from an stl vector to an array

2015-01-01 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59354 Eelis gcc-bugzilla at contacts dot eelis.net changed: What|Removed |Added CC||gcc

[Bug libstdc++/64476] New: std::uninitialized_copy tests assignability the wrong way, resulting in performance pessimization

2015-01-02 Thread gcc-bugzilla at contacts dot eelis.net
Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: gcc-bugzilla at contacts dot eelis.net It does: typedef typename iterator_traits_InputIterator::reference _RefType; const bool __assignable

[Bug c++/57971] Improve copy elision when returning structs by value

2015-01-10 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57971 Eelis gcc-bugzilla at contacts dot eelis.net changed: What|Removed |Added CC||gcc

[Bug c++/68003] New: Variable declared in condition in for loop is destroyed too soon

2015-10-17 Thread gcc-bugzilla at contacts dot eelis.net
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gcc-bugzilla at contacts dot eelis.net Target Milestone: --- Consider: #include #include struct X { bool alive = true; ~X() { alive = false; } explicit operator

[Bug c++/33952] -Wfatal-errors truncates multi-line error messages.

2016-09-06 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33952 --- Comment #5 from Eelis --- (In reply to David Malcolm from comment #4) > Eelis: FWIW, gcc has a -fmax-errors=n option; I wonder if setting that to 1 > might be a better fit for geordi? (just thinking aloud here). It also truncates the error

[Bug c++/10619] Error message for no matching function calls does not list explicitly-specified template arguments

2016-10-22 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10619 Eelis changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug c++/42490] using-directive in namespace doesn't work properly

2016-10-22 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42490 Eelis changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug libstdc++/77994] New: std::sample uses incorrect integer types internally

2016-10-15 Thread gcc-bugzilla at contacts dot eelis.net
: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: gcc-bugzilla at contacts dot eelis.net Target Milestone: --- Both the reservoir sampling and the selection sampling implementations use a uniform_int_distribution<_Size> to generate integers distribute

[Bug c++/78966] Unjustified variadic template instantiation

2017-01-06 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78966 Eelis changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c++/78966] Unjustified variadic template instantiation

2017-01-03 Thread gcc-bugzilla at contacts dot eelis.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78966 --- Comment #2 from Eelis --- The testcase was a minimized version of the (imho innocuous looking): #include #include template std::ostream & operator<<(std::ostream &, std::variant const &); int main() { std::cout << std::endl; }

[Bug c++/78966] New: Unjustified variadic template instantiation

2017-01-02 Thread gcc-bugzilla at contacts dot eelis.net
++ Assignee: unassigned at gcc dot gnu.org Reporter: gcc-bugzilla at contacts dot eelis.net Target Milestone: --- Consider: template struct vari { static_assert(sizeof...(TT) != 0, "bleh"); }; template struct X {}; void f(void(*)(X)); template v

[Bug c++/96555] "template argument involves template parameter(s)" with dot or arrow operator in partial specialization

2020-11-25 Thread gcc-bugzilla at contacts dot eelis.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96555 Eelis changed: What|Removed |Added CC||gcc-bugzilla at contacts dot eelis