https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93208
--- Comment #7 from Marc Mutz ---
Thanks!
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93208
Marc Mutz changed:
What|Removed |Added
Version|10.0|9.1.0
--- Comment #1 from Marc Mutz ---
Als
: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: marc at kdab dot com
Target Milestone: ---
Both `memory_resource` and `monotonic_buffer_resource` have all virtual methods
inline, so their
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92856
--- Comment #3 from Marc Mutz ---
Indeed, I didn't check that it actually fails in SFINAE. Sorry for that.
This works:
// https://godbolt.org/z/EfJmS4
#include
#include
template
using nonnarrowing_test = decltype(To{std::declval()
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55783
Marc Mutz changed:
What|Removed |Added
CC||marc at kdab dot com
--- Comment #15 from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92856
Marc Mutz changed:
What|Removed |Added
Resolution|INVALID |DUPLICATE
--- Comment #4 from Marc Mutz ---
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: marc at kdab dot com
Target Milestone: ---
The following code:
// https://godbolt.org/z/tWa2dr
int main() {
extern long double ld;
double d{ld
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59423
marc at kdab dot com changed:
What|Removed |Added
CC||marc at kdab dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22395
--- Comment #8 from marc at kdab dot com ---
I don't think Effective C++ is the benchmark any more, so water under bridges
that have already burned, but fwiw: contrary to C.127 these days, I learned
this rule as "A base class's de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90379
marc at kdab dot com changed:
What|Removed |Added
CC||marc at kdab dot com
--- Comment
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: marc at kdab dot com
Target Milestone: ---
In the following example: https://godbolt.org/z/jHSYue
one(), using std::unique_ptr, pushes r12 to the stack just to pop it back at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66343
--- Comment #10 from marc at kdab dot com ---
I cannot confirm that this is fixed in 7.0.0 20161005. This is at commit: PR
sanitizer/77823. I still see these errors.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70342
marc at kdab dot com changed:
What|Removed |Added
Status|RESOLVED|VERIFIED
--- Comment #13 from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60621
--- Comment #7 from marc at kdab dot com ---
Retesting with GCC 6.1, it looks better now:
$ g++ -O2 -o emplace-vs-push_back{.pb,.cpp}
$ g++ -O2 -o emplace-vs-push_back{.eb,.cpp} -DEMPLACE_BACK
$ strip emplace-vs-push_back.*
$ size
MED
Severity: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: marc at kdab dot com
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66343
marc at kdab dot com changed:
What|Removed |Added
CC||marc at kdab dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70118
marc at kdab dot com changed:
What|Removed |Added
CC||marc at kdab dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53637
--- Comment #5 from marc at kdab dot com ---
You have a very narrow test of NRVO.
You're using a completely transparent type, though I give you that defining the
copy and move ctors in a separate TU does not change the outcome. At some
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53637
--- Comment #3 from marc at kdab dot com ---
This really should be top priority. But no comment on it for almost three years
by GCC devs.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58055
--- Comment #6 from marc at kdab dot com ---
To expand on my previous comment: the compiler is even allowed to elide the
copy if that would save a read/write from a volatile object. So I don't see how
this can be implemented anywhere excep
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: marc at kdab dot com
The STL containers are not specialised for pointer types, leading to tons of
duplicated virtually-identical binary code.
Example:
vector could be implemented in terms of vector
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60621
marc at kdab dot com changed:
What|Removed |Added
Attachment #32429|0 |1
is obsolete
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60621
--- Comment #3 from marc at kdab dot com ---
Now, what is _really_ weird is that push_back(T&&) _calls_ emplace_back(). I
also tried the magic incantation
g++ --param large-unit-insns=1 \
--param inline-unit-growth=1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58055
marc at kdab dot com changed:
What|Removed |Added
CC||marc at kdab dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51571
marc at kdab dot com changed:
What|Removed |Added
CC||marc at kdab dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53637
marc at kdab dot com changed:
What|Removed |Added
CC||marc at kdab dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64150
--- Comment #1 from marc at kdab dot com ---
(compiled with g++ -fverbose-asm -std=c++14 -g -O3 -S -o
test-moved-from-dtor.{s,cpp})
Severity: enhancement
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: marc at kdab dot com
Created attachment 34162
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34162&action=edit
Sample program
When compiling a
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60621
--- Comment #2 from marc at kdab dot com ---
Yes, that helps a bit, but emplace_back still generates larger code than the
corresponding rvalue-push_back. Considering that the latter also needs to
generate the implicitly defined move ctor for S
29 matches
Mail list logo