https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137
--- Comment #45 from Rafael Avila de Espindola ---
(In reply to niek from comment #43)
> Does this mean (and could you please reconfirm) that bug 95317 has
> disappeared in trunk (which will become GCC 12)?
Hi,
I am not working on a project
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97734
--- Comment #3 from Rafael Avila de Espindola ---
I just realized I made a mistake when producing the reduced testcase. The
argument x should have been an uint32_t. Unfortunately, with that fix gcc
always produces a branch.
ICC still produces a
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Created attachment 49511
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49511=edit
graph
Playing with the code in https://github.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90295
--- Comment #5 from Rafael Avila de Espindola ---
> Fixed for GCC 11, and not plausible to backport.
Thank you so much! Looking forward to GCC 11.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137
--- Comment #31 from Rafael Avila de Espindola ---
Hi Iain,
Any update on this? If there is any way I can help, please let me know. It has
been a decade since I looked into gcc, but I should still be able to test
patches or implement small side
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Only the move constructor of std::optional is conditionally noexcept.
The standard in res.on.exception.handling says
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95302
Rafael Avila de Espindola changed:
What|Removed |Added
CC||rafael at espindo dot la
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137
Rafael Avila de Espindola changed:
What|Removed |Added
Attachment #48723|0 |1
is obsolete|
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
CC: jason at redhat dot com
Target Milestone: ---
We (seastar) recently hit a build error with gcc 9 because the fix
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95675
Rafael Avila de Espindola changed:
What|Removed |Added
Version|unknown |11.0
--- Comment #1 from
++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Created attachment 48729
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48729=edit
testcase
With current master (06712fc68dc9843d9af7c7ac10047f49d305ad76), running
g++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137
Rafael Avila de Espindola changed:
What|Removed |Added
Attachment #48579|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137
--- Comment #25 from Rafael Avila de Espindola ---
(In reply to CVS Commits from comment #24)
> The master branch has been updated by Iain D Sandoe :
Thanks!
I can confirm that the reduced testcase is now fixed. On the original test I
still
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95368
--- Comment #2 from Rafael Avila de Espindola ---
I just tested a few compilers with the testcase from comment 1:
* clang version 11.0.0 (https://github.com/llvm/llvm-project.git
0796b170fb3bf38e6cc4e59746120b37c9a9cd9f):
Accepts it.
* g++
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
gcc accepts
#include
struct foo {
void func();
};
void bar(foo& v) {
[v]() {
static_assert(std::is_same_v);
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137
--- Comment #20 from Rafael Avila de Espindola ---
The attached testcase also fails with just -fsanitize=undefined. I have tested
with gcc version
gcc (GCC) 10.1.1 20200507 (Red Hat 10.1.1-1)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137
Rafael Avila de Espindola changed:
What|Removed |Added
Attachment #48547|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137
--- Comment #18 from Rafael Avila de Espindola ---
(In reply to Avi Kivity from comment #17)
> Is that the test were a lambda coroutine is called from future::then()? In
> that case it's a real use-after-free.
It was reduced from that to just
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137
--- Comment #16 from Rafael Avila de Espindola ---
> @Rafael: Can you please append output with:
> export UBSAN_OPTIONS="print_stacktrace=1"
I also added halt_on_error=1:abort_on_error=1:
It is
../tests/unit/coroutines_test.cc:11:5: runtime
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94910
--- Comment #8 from Rafael Avila de Espindola ---
I can confirm that the proposed patch fixes the issue for me.
Thank you so much!
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137
--- Comment #12 from Rafael Avila de Espindola ---
(In reply to Martin Liška from comment #6)
> Thank you, can you please attach a pre-processed file (-E) so that one
> doesn't need to clone seastar repository?
The testcase that is attached
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137
--- Comment #5 from Rafael Avila de Espindola ---
With a seastar patched for c++ 20 (mostly dropping a few experimental/ from
includes and experimental:: from names), the following is all that is needed:
#include
#include
using namespace
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137
--- Comment #4 from Rafael Avila de Espindola ---
Created attachment 48547
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48547=edit
testcase
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94910
--- Comment #3 from Rafael Avila de Espindola ---
Yes, our build bots use podman, so you can reproduce with:
$ git clone https://github.com/scylladb/seastar
$ cd seastar
$ podman run -v $PWD:$PWD:z -w $PWD -it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83028
Rafael Avila de Espindola changed:
What|Removed |Added
CC||rafael at espindo dot la
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at
gcc dot gnu.org
Target
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=12411
Rafael Avila de Espindola changed:
What|Removed |Added
CC||rafael at espindo dot la
-end
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Given
#include
union any {
any(any&& x) noexcept {
if (x.st < 4) {
st = x.st;
x.st = 0;
} else {
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94992
--- Comment #3 from Rafael Avila de Espindola ---
For completeness, this is a reduction of a std::swap(x,x). The placement new
was originally in the move assignment operator.
I was able to reproduce this with gcc 9 by moving a few functions out
: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Created attachment 48477
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48477=edit
testcase
In the attached testcase gcc with -O1 (but not -O0 or -O2) produ
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at
gcc dot
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94811
--- Comment #4 from Rafael Avila de Espindola ---
(In reply to Jonathan Wakely from comment #3)
> (In reply to Rafael Avila de Espindola from comment #0)
> > So it should be possible to make the std::tuple constructor and
>
> Isn't that already
: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
The standard in res.on.exception.handling says:
An implementation may strengthen the exception specification for a non-virtual
function by adding a non-throwing exception
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94645
--- Comment #13 from Rafael Avila de Espindola ---
Thank you so much. I can confirm that scylla now builds with gcc master with
just a few fixes on the scylla side (we build with -Werror).
There is a couple of test failures. I will try to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94645
--- Comment #8 from Rafael Avila de Espindola ---
The internal compiler error reduces to
struct unordered_map {
int cend() const noexcept;
};
template concept HasMapInterface = requires(a t) { t.cend(); };
template
requires
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94645
--- Comment #2 from Rafael Avila de Espindola ---
This reduces to just
template concept HasMapInterface = requires(a t) { t.cend; };
template
requires HasMapInterface struct l {};
struct mymap {
int cend();
};
struct p {
static mymap
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Tested with c5bac7d127f288fd2f8a1f15c3f30da5903141c6.
Given
---
#include
struct
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94418
--- Comment #1 from Rafael Avila de Espindola ---
For what it is worth, libc++ implements this. Given
static_assert(std::is_nothrow_copy_constructible_v::reverse_iterator>);
With libstdc++:
$ clang -S test3.cc -std=c++17
test3.cc:3:1: error:
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
The standard in res.on.exception.handling says:
An implementation may strengthen the exception specification for a non-virtual
function
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94112
--- Comment #2 from Rafael Avila de Espindola ---
(In reply to Martin Sebor from comment #1)
> Confirmed with the output below. -Wterminate is fully implemented in the
> C++ front-end so it doesn't know about what might happen in called
>
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
GCC produces a warning for
void foo() noexcept {
throw 42;
}
But not for
static void bar() {
throw 42;
}
void foo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94033
--- Comment #5 from Rafael Avila de Espindola ---
The regression (at least with the reduced testcase I uploaded) is from:
commit 58487c21b6a47c3fff6c6958684de866216a5593 (HEAD)
Author: Jonathan Wakely
Date: Mon May 20 12:32:51 2019 +0100
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94033
--- Comment #5 from Rafael Avila de Espindola ---
Created attachment 47994
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47994=edit
reduced testcase
I have reduced it a bit further.
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
There is a c++ proposal at
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1072r5.html
and libc++ already has an implementation that is used by abseil
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89337
--- Comment #15 from Rafael Avila de Espindola ---
In gcc 9 it is pretty easy to avoid this warning by adding an assert or
builtin_unreachable and we have done that in seastar.
Unfortunately the warning still shows up with gcc 8. Is there a
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Created attachment 47779
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47779=edit
testcase
In the attached test prog
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93437
Rafael Avila de Espindola changed:
What|Removed |Added
CC||msebor at gcc dot gnu.org
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Created attachment 47710
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47710=edit
testcase
In the attached testcase,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92957
Rafael Avila de Espindola changed:
What|Removed |Added
Version|9.2.1 |10.0
--- Comment #1 from
: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Created attachment 47507
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47507=edit
testcase
In the attached testcase gcc produ
ty: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Created attachment 47394
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47394=edit
testcase
seastar has a variant of
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91997
--- Comment #3 from Rafael Avila de Espindola ---
(In reply to Jonathan Wakely from comment #2)
> Rafael, I'm unable to reproduce this with unordered containers. Do you have
> a testcase?
I was able to reproduce it with 2 files:
$ cat test.cc
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Given
struct foo {
const char *bar;
const char *zed;
};
void g(struct foo *r);
void f() {
struct foo t = {"bar", &
: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
At least when compiling with optimizations with
gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2)
the debug info doesn't include
: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Only the first static_assert in the following example fails.
#include
#include
void foo(const std::experimental
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91516
--- Comment #1 from Rafael Avila de Espindola ---
Corresponding clang bug:
https://bugs.llvm.org/show_bug.cgi?id=43079
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Given
#include
void foo() {
for (auto& dev : std::filesystem::directory_iterator("slaves")) {
}
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Created attachment 46531
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46531=edit
testcase
In the attached testcase
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90415
--- Comment #3 from Rafael Avila de Espindola ---
I see now that the corresponding commit on trunk was
31011b9a94fed33170c009292e82558336d1c4d7 (r261146).
At that revision, the test in this bug passes. There was a more recent
regression on
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90415
--- Comment #2 from Rafael Avila de Espindola ---
The bug is still present on trunk.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90415
Rafael Avila de Espindola changed:
What|Removed |Added
CC||jason at redhat dot com
---
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Without templates, things are simple:
// this is local
const int bar = 42;
// this is global
extern const int bar = 42;
Just adding a template is also OK
++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
CC: mjambor at suse dot cz
Target Milestone: ---
Created attachment 46271
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46271=edit
testcase
Start
++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Currently ~exception_ptr is defined out of line. Its definition just calls
_M_release which looks like
if (_M_exception_object)
{
...
}
Which means that there is nothing
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89337
--- Comment #10 from Rafael Avila de Espindola ---
(In reply to Martin Sebor from comment #9)
> The warning is very simple: it just looks for excessive sizes in calls
> emitted in the optimized IL. When the call is there (either because it's in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89337
Rafael Avila de Espindola changed:
What|Removed |Added
Status|RESOLVED|UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88443
Bug 88443 depends on bug 89337, which changed state.
Bug 89337 Summary: Bogus "exceeds maximum object size" on unreachable code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89337
What|Removed |Added
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89337
Rafael Avila de Espindola changed:
What|Removed |Added
Attachment #45710|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88443
Bug 88443 depends on bug 89337, which changed state.
Bug 89337 Summary: Bogus "exceeds maximum object size" on unreachable code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89337
What|Removed |Added
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89337
Rafael Avila de Espindola changed:
What|Removed |Added
Status|RESOLVED|UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89337
Rafael Avila de Espindola changed:
What|Removed |Added
Attachment #45704|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89337
--- Comment #3 from Rafael Avila de Espindola ---
> GCC can't see that drop3() cannot be called with name.size() < 3, and in
> resize, the condition (n > size()) can only be true only when name.size() <
> 3 so n - size() is unavoidably too
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89337
--- Comment #1 from Rafael Avila de Espindola ---
The original testcase is from https://github.com/scylladb/seastar/issues/598
ty: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Created attachment 45704
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45704=edit
testcase
In the attached testcase the f
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88897
Rafael Avila de Espindola changed:
What|Removed |Added
CC||rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88897
Rafael Avila de Espindola changed:
What|Removed |Added
Attachment #45452|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88897
--- Comment #3 from Rafael Avila de Espindola ---
(In reply to Andrew Pinski from comment #2)
> Some of the time, the uninitialized is due to using the object after the
> lifetime of the object has gone out of scope. I have not checked if that
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88897
--- Comment #1 from Rafael Avila de Espindola ---
Created attachment 45453
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45453=edit
reduced the test a bit more
It now compiles with older gcc too.
The warning is there in gcc 7, but not
: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Created attachment 45452
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45452=edit
testcase
Compiling the attached testcase with "g++ -c -O1 -Wall test.ii&q
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88684
--- Comment #11 from Rafael Avila de Espindola ---
(In reply to Martin Liška from comment #10)
> > That said, I'm willing to ack it for GCC9 even then if upstream comes up
> > with something or if they don't care, eventually as a GCC only tweak.
: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88509
--- Comment #3 from Rafael Avila de Espindola ---
(In reply to Jakub Jelinek from comment #2)
> I must say I don't understand your suggestion. bar is not a pointer and its
> address is non-NULL no matter whether it has been already initialized
++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
Given
struct foo {
foo();
};
static thread_local foo bar;
foo *f() { return }
foo *g() {
static thread_local foo *bar_ptr;
if (bar_ptr == nullptr) {
[&]() { bar
++
Assignee: unassigned at gcc dot gnu.org
Reporter: rafael at espindo dot la
Target Milestone: ---
This may sound like a silly warning, but it actually very useful in finding
missing member functions in CRTP. Given the testcase
template struct C {
void foo() { static_cast
84 matches
Mail list logo