[Bug libstdc++/90409] New: std::move[_backward] could be more optimized for deque iterators

2019-05-09 Thread morwenn29 at hotmail dot fr
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: morwenn29 at hotmail dot fr Target Milestone: --- The standard library currently contains optimized versions of std::move and std::move_backward for std::deque iterators, which

[Bug target/82580] Optimize comparisons for __int128 on x86-64

2017-10-19 Thread morwenn29 at hotmail dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82580 --- Comment #15 from Morwenn --- That was insanely fast, thanks a lot! :)

[Bug target/82580] New: Optimize comparisons for __int128 on x86-64

2017-10-17 Thread morwenn29 at hotmail dot fr
: target Assignee: unassigned at gcc dot gnu.org Reporter: morwenn29 at hotmail dot fr Target Milestone: --- Given the following simple code: bool foobar(unsigned __int128 lhs, unsigned __int128 rhs) { return lhs < rhs; } GCC generates branchful code for x86-64

[Bug libstdc++/82470] Structured bindings don't work with std::tuple if a type has a get member function

2017-10-08 Thread morwenn29 at hotmail dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82470 --- Comment #2 from Morwenn --- Shouldn't it? My reading of the standard (at least from Tim Song's online version) is that the lookup for a get member function is intended. Here is the relevant excerpt from [dcl.struct.bind]: > The unqualified-i

[Bug libstdc++/82470] New: Structured bindings don't work with std::tuple if a type has a get member function

2017-10-07 Thread morwenn29 at hotmail dot fr
IRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: morwenn29 at hotmail dot fr Target Milestone: --- Here is a simple example of failing code: struct foobar { template int get() { ret

[Bug c++/70328] default generated destructors cause 'inlining failed' warnings.

2017-08-26 Thread morwenn29 at hotmail dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70328 --- Comment #3 from Morwenn --- Looks like providing a testcase will be hard: I switched to GCC 7.1 since then, and can't reproduce the bug anymore, be it in C++14 or C++17 mode. That said, a few things have changed since then and they may be inv

[Bug libstdc++/69565] Heap operations could surely be faster

2016-08-11 Thread morwenn29 at hotmail dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69565 --- Comment #3 from Morwenn --- It was a modified version of the following benchmark for sorting algorithms: https://github.com/Morwenn/cpp-sort/blob/master/benchmarks/bench.cpp I benchmarked the library's heap_sort (which is basically a copy-pa

[Bug c++/70328] default generated destructors cause 'inlining failed' warnings.

2016-04-24 Thread morwenn29 at hotmail dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70328 Morwenn changed: What|Removed |Added CC||morwenn29 at hotmail dot fr --- Comment #1

[Bug libstdc++/69565] Heap operations could surely be faster

2016-01-30 Thread morwenn29 at hotmail dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69565 --- Comment #1 from Morwenn --- The labels on the image are cropped, but each label corresponds to a specific distribution of the data. The full names are as follows: Shuffled Shuffled (16 values) All equal Ascending Descending Pipe organ Push f

[Bug libstdc++/69565] New: Heap operations could surely be faster

2016-01-30 Thread morwenn29 at hotmail dot fr
: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: morwenn29 at hotmail dot fr Target Milestone: --- Created attachment 37526 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37526&action=edit Benchmark heapsort for libc++ and libstdc++. While implementing

[Bug c/68425] New: Enhanced error message when an array is initialized with too many elements

2015-11-18 Thread morwenn29 at hotmail dot fr
: enhancement Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: morwenn29 at hotmail dot fr Target Milestone: --- The current error message when trying to initialize a fixed-size C array with too many elements (with both gcc and g

[Bug c++/68204] New: g++ fails to expand a template parameter pack in with variable templates in a function

2015-11-03 Thread morwenn29 at hotmail dot fr
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: morwenn29 at hotmail dot fr Target Milestone: --- To be honest, the title fails to accurately describe the problem. Anyway, this sample does the job nicely

[Bug c++/68012] New: g++ incorrectly accepts forward declaration of constexpt variable template

2015-10-18 Thread morwenn29 at hotmail dot fr
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: morwenn29 at hotmail dot fr Target Milestone: --- I had the following piece of code in one of my projects: template constexpr std::size_t iterator_category_value; g

[Bug c++/67962] New: Optimization opportunity with conditional swap

2015-10-14 Thread morwenn29 at hotmail dot fr
++ Assignee: unassigned at gcc dot gnu.org Reporter: morwenn29 at hotmail dot fr Target Milestone: --- If have some algorithms that use an extensive number of conditional swaps like this (a few hundreds I guess): if (y < x) { std::swap(x, y); } I thou

[Bug c++/67331] New: ICE with recursive variable template with non-type template parameters

2015-08-23 Thread morwenn29 at hotmail dot fr
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: morwenn29 at hotmail dot fr Target Milestone: --- I tried to write a recursive variable template with non-type template parameters (booleans in my case) and got an internal

[Bug c++/66427] New: The compiler rejects too complex variable templates

2015-06-05 Thread morwenn29 at hotmail dot fr
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: morwenn29 at hotmail dot fr Target Milestone: --- I was trying to replace structures with a single value member by variable templates but it seems that their support still isn't complete enough to support my use ca

[Bug c++/63717] Value-initialization performs defaut-initialization when =default is outside the class declaration

2014-11-03 Thread morwenn29 at hotmail dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63717 Morwenn changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c++/63717] Value-initialization performs defaut-initialization when =default is outside the class declaration

2014-11-02 Thread morwenn29 at hotmail dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63717 --- Comment #1 from Morwenn --- I forgot to remove the outside-class =default in the second example, it should be: struct foo { unsigned value; foo() = default; foo(unsigned value): value(value)

[Bug c++/63717] New: Value-initialization performs defaut-initialization when =default is outside the class declaration

2014-11-02 Thread morwenn29 at hotmail dot fr
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: morwenn29 at hotmail dot fr I have this minimal test case: struct foo { unsigned value; foo(); foo(unsigned value

[Bug c++/56991] constexpr std::initializer_list rejects too complex initialization

2013-04-18 Thread morwenn29 at hotmail dot fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56991 --- Comment #3 from Morwenn 2013-04-18 08:12:44 UTC --- (In reply to comment #1) > I don't see the compiler *crashing*, I see it *rejecting* the snippet. Indeed, sorry for the poor formulation.

[Bug c++/56991] New: constexpr std::initializer_list crashes on too complex initialization

2013-04-17 Thread morwenn29 at hotmail dot fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56991 Bug #: 56991 Summary: constexpr std::initializer_list crashes on too complex initialization Classification: Unclassified Product: gcc Version: 4.8.0 Status: