- User Since
- Jun 26 2014, 12:44 PM (260 w, 5 d)
Thanks for working on this! __compressed_pair is a menace which causes serious template and code bloat.
And the code without it is much clearer and cleaner.
You have an ODR violation. You can't compile one TU with -fno-rtti -fno-exceptions and another without. You give the definitions of __base different vtables.
Generally this LGTM.
I'll take another pass after the comments are addressed.
Sun, Jun 23
The implementation looks great!
Thanks. Sorry for the delay.
Sat, Jun 22
Fri, Jun 21
Sorry, I think the previous patch was misleading. My ambitions don't extend beyond this small performance fix. There are no other places in libc++ that conditionally move.
Thu, Jun 20
Is this backwards compatible as well?
Wed, Jun 19
This isn't a question of C11 because timespec has been a part of the POSIX spec forever.
Tue, Jun 18
Mon, Jun 17
Did sym_extract.py remove those symbols from the list, or were they removed manually? Because they should still be present in the libc++ symbol table as imported definitions (I think).
Sun, Jun 16
Sat, Jun 15
Fri, Jun 14
Thu, Jun 13
Please use Clang format on these changes.
Is it okay to use constexpr and noexcept or should I use the macros?
Binary size isn't
This change is OK.
I think Apple was the last user of this?
We don't support GCC 4.8. We require GCC 5.
Wed, Jun 12
I plan to commit this shortly.
Tue, Jun 11
Mon, Jun 10
Sun, Jun 9
Sat, Jun 8
Fri, Jun 7
Wed, May 29
Thanks for the link Louis. This should be safe then. .
Changing the triviality of a type can be ABI breaking because it will change the calling conventions the compiler uses.
We have hacks in pair to keep it non-trivial on some platforms for this reason.