: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
With GCC trunk:
$ cat sa.cc
template
constexpr int
foo()
{
static_assert(T(1) == 0);
return 0;
}
constexpr int
bar(int a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93978
Patrick Palka changed:
What|Removed |Added
Depends on||94038
--- Comment #1 from Patrick Palka
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94038
--- Comment #2 from Patrick Palka ---
(In reply to Marek Polacek from comment #1)
> > This seems to be a regression from GCC 9.
>
> Are you sure? I see the same thing with GCC 6.
Oops, you're right, it's not a regression.
||2020-03-05
CC||ppalka at gcc dot gnu.org
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
Ever confirmed|0 |1
--- Comment #1 from Patrick Palka ---
Confirmed. The fix
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93729
Patrick Palka changed:
What|Removed |Added
Target Milestone|--- |10.0
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94066
Patrick Palka changed:
What|Removed |Added
CC||ppalka at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94066
--- Comment #5 from Patrick Palka ---
Also if we add an explicitly defaulted constructor "U() = default;" to U in the
original test case, then
using GCC 9 /w -std=c++17 we get:
94066.C:16:25: in ‘constexpr’ expansion of ‘foo((&*this))’
94066.C
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
$ cat loop.C
static_assert(requires { );
$ g++ -std=c++2a loop.C
loop.C:1:26: error: expected primary-expression before ‘)’ token
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
$ cat disj.cc
template
using blah = T::type;
template
concept C = requires (T t) { t + 0; };
template
concept D = C || C
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93805
Patrick Palka changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93805
--- Comment #3 from Patrick Palka ---
Reduced test case:
$ cat 93805.C
struct B
{
B() {}
};
struct C
{
B b = B();
};
C c;
$ g++ -Wnoexcept 93805.C
93805.C:11:3: warning: noexcept-expression evaluates to ‘false’ because of a
call to ‘B::B()
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92010
Patrick Palka changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92010
--- Comment #5 from Patrick Palka ---
The ICE seems to be revealing a latent issue: In the following example (which
GCC accepts), according to the static_assert labelled (1), the type of t is
const int*, but according to the static_assert labell
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92010
--- Comment #6 from Patrick Palka ---
(In reply to Patrick Palka from comment #5)
> The ICE seems to be revealing a latent issue: In the following example
> (which GCC accepts), according to the static_assert labelled (1), the type
> of t is con
||ppalka at gcc dot gnu.org
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
Known to fail|10.0|
Summary|[8/9/10 Regression] |[8/9 Regression] Prefixing
|Prefixing a function with
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94066
Patrick Palka changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92010
--- Comment #7 from Patrick Palka ---
(In reply to Patrick Palka from comment #6)
> (In reply to Patrick Palka from comment #5)
> > The ICE seems to be revealing a latent issue: In the following example
> > (which GCC accepts), according to the
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
$ cat ice.C
struct S
{
int a = [this] { this->a = 5; return 6; } ();
};
constexpr S s = {};
$ g++ -st
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
$ cat 94066-struct.C
struct A { long x; };
struct U;
constexpr A foo(U *up);
struct U { // struct instead of union
A a = foo(this); int y;
};
constexpr A foo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69694
Patrick Palka changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90880
Patrick Palka changed:
What|Removed |Added
Status|NEW |ASSIGNED
||struct since r9-6794
Known to fail||10.0, 9.3.0
Last reconfirmed||2020-03-23
CC||jason at redhat dot com,
||ppalka at gcc dot
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93805
Patrick Palka changed:
What|Removed |Added
Summary|[8/9/10 Regression] A |[8/9 Regression] A
|su
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67960
--- Comment #11 from Patrick Palka ---
(In reply to Eric Gallager from comment #10)
> (In reply to Patrick Palka from comment #8)
> > Fixed on trunk by r10-7159.
>
> so... keeping open for backports, I take it?
Probably yes.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94066
Patrick Palka changed:
What|Removed |Added
Summary|[8/9/10 Regression] ICE |[8/9 Regression] ICE
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94265
Patrick Palka changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
||10.0
Last reconfirmed||2020-03-24
Ever confirmed|0 |1
CC||ppalka at gcc dot gnu.org
Status|UNCONFIRMED |NEW
--- Comment #2 from Patrick Palka
at gcc dot gnu.org |ppalka at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94265
Patrick Palka changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
$ cat requires-requires.C
template
requires B
struct X { };
template
concept C = requires { X
|ASSIGNED
CC||ppalka at gcc dot gnu.org
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
Target Milestone|--- |10.0
Last reconfirmed||2020-03-25
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94252
Patrick Palka changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94306
Patrick Palka changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94126
Patrick Palka changed:
What|Removed |Added
Resolution|--- |FIXED
Target Milestone|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94034
Patrick Palka changed:
What|Removed |Added
CC||ppalka at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94414
Patrick Palka changed:
What|Removed |Added
CC||ppalka at gcc dot gnu.org
--- Comment
|UNCONFIRMED |ASSIGNED
Ever confirmed|0 |1
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
at gcc dot gnu.org |ppalka at gcc dot
gnu.org
: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
$ cat testcase.C
struct X
{
int b = 0;
int c = ((this->b=1), 1);
};
constexpr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94470
Patrick Palka changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Known to fail|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93211
Patrick Palka changed:
What|Removed |Added
CC||ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94205
Bug 94205 depends on bug 94219, which changed state.
Bug 94219 Summary: ICE in cxx_eval_bare_aggregate, at cp/constexpr.c:3790
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94219
What|Removed |Added
-
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94219
Patrick Palka changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94205
Patrick Palka changed:
What|Removed |Added
Summary|[8/9/10 Regression] ICE in |[8/9 Regression] ICE in
ty: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
$ cat testcase.C
template
constexpr bool
bar(bool b = requires (T t) { *t; })
{
return b;
}
$ g++ -std=c++2a testcase.C
NCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
$ cat testcase.C
template
void foo(Ts...);
int main()
{
void (*f)(int*) = foo;
}
$ g++ -std=c++11
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90996
Patrick Palka changed:
What|Removed |Added
CC||ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90996
Patrick Palka changed:
What|Removed |Added
Summary|[8/9/10 Regression] ICE in |[8/9 Regression] ICE in
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
$ cat testcase.C
template
void spam(decltype([]{}) *s)
{
static_assert(__is_same(int, decltype(s)));
}
void foo()
{
spam
||ppalka at gcc dot gnu.org
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94480
Patrick Palka changed:
What|Removed |Added
Assignee|ppalka at gcc dot gnu.org |unassigned at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92010
Patrick Palka changed:
What|Removed |Added
Summary|[8/9/10 Regression] gcc |[8/9 Regression] gcc
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94034
--- Comment #5 from Patrick Palka ---
Here is a rejects-valid testcase caused by the same underlying issue:
$ cat testcase.C
struct A { A *p = this; int n; };
constexpr A
foo()
{
return {};
}
constexpr A
bar()
{
A a = foo();
a.p->n = 5;
NCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
$ cat testcase.C
struct A { A *p = this-1; int n = p->n; };
constexpr A
foo()
{
return
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94537
--- Comment #1 from Patrick Palka ---
We also reject a constexpr version of the testcase:
$ cat testcase.C
struct A { A *p = this-1; int n = p->n; };
constexpr A
foo()
{
return {};
}
constexpr A a[2] = { {nullptr, 5}, foo() };
static_assert(
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94537
--- Comment #2 from Patrick Palka ---
Simpler runtime testcase:
$ cat testcase.C
struct A { A *p = this; int m = 1; };
A
foo()
{
return {};
}
int
main()
{
A a = foo();
a.p->m++;
if (a.m != 2)
__builtin_abort ();
}
$ g++ -std=c++17
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
The test gcc/testsuite/gcc.dg/alias-14.c fails when compiled and executed with
gcc 10, and succeeds when
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94539
--- Comment #3 from Patrick Palka ---
Bisection seems to be pointing to r10-779
at gcc dot gnu.org |ppalka at gcc dot
gnu.org
at gcc dot gnu.org |ppalka at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85278
Patrick Palka changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94521
Patrick Palka changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94470
Patrick Palka changed:
What|Removed |Added
Summary|[8/9/10 Regression] |[8/9 Regression] Constexpr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94034
Patrick Palka changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491
Bug 67491 depends on bug 85278, which changed state.
Bug 85278 Summary: [concepts] Garbled diagnostic
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85278
What|Removed |Added
--
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85278
Patrick Palka changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Target Milestone|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491
Bug 67491 depends on bug 93207, which changed state.
Bug 93207 Summary: [concepts] Variadic concepts refuse to compile when function
definition is not inline
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93207
What|Removed
|--- |FIXED
CC||ppalka at gcc dot gnu.org
Target Milestone|--- |10.0
--- Comment #4 from Patrick Palka ---
This seems to be already fixed for GCC 10.
||ppalka at gcc dot gnu.org
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94475
Patrick Palka changed:
What|Removed |Added
Summary|[9/10 Regression] ICE: tree |[9 Regression] ICE: tree
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94483
Patrick Palka changed:
What|Removed |Added
CC||ppalka at gcc dot gnu.org
|NEW
Last reconfirmed||2020-04-16
CC||ppalka at gcc dot gnu.org
--- Comment #1 from Patrick Palka ---
Good point, confirmed.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94483
Patrick Palka changed:
What|Removed |Added
Keywords|error-recovery, |ice-on-valid-code
|ice
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88754
Patrick Palka changed:
What|Removed |Added
Status|NEW |ASSIGNED
at gcc dot gnu.org |ppalka at gcc dot
gnu.org
Ever confirmed|0 |1
Last reconfirmed||2020-04-17
Target Milestone|--- |10.0
CC||ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94632
Patrick Palka changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94632
--- Comment #2 from Patrick Palka ---
Smaller testcase that exhibits the ICE:
template struct b;
template class c {
template static void d(f e, b x);
public:
static const bool h = false;
};
bool y = c::h;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94483
Patrick Palka changed:
What|Removed |Added
Summary|[9/10 Regression] ICE: tree |[9 Regression] ICE: tree
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88754
Patrick Palka changed:
What|Removed |Added
Summary|[8/9/10 Regression] |[8/9 Regression]
|Cons
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92187
Patrick Palka changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94632
Patrick Palka changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94628
Patrick Palka changed:
What|Removed |Added
CC||ppalka at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94628
--- Comment #4 from Patrick Palka ---
(In reply to Patrick Palka from comment #3)
> Reduced rejects-valid testcase:
>
> int f(int, int);
> int f(int);
>
> template
> auto select(Args... args) -> decltype(f(args...))
> {
> if constexpr(sizeof.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91849
Patrick Palka changed:
What|Removed |Added
CC||ppalka at gcc dot gnu.org
--- Comment
at gcc dot gnu.org |ppalka at gcc dot
gnu.org
at gcc dot gnu.org |ppalka at gcc dot
gnu.org
CC||ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94628
Patrick Palka changed:
What|Removed |Added
Status|ASSIGNED|NEW
Summary|[8/9/10 Regressio
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94645
Patrick Palka changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94645
Patrick Palka changed:
What|Removed |Added
Status|ASSIGNED|NEW
Assignee|ppalka at gcc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94597
Patrick Palka changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94597
Patrick Palka changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94645
--- Comment #7 from Patrick Palka ---
As in PR94597, I think the testcases here in #c0 and #c2 might be invalid as-is
-- the requirement "t.cend;" should probably be "t.cend();", and we reject the
former since r10-7554.
With that minor change we
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94549
Patrick Palka changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94645
--- Comment #9 from Patrick Palka ---
Thanks for the reduced testcases.
The problem in #c8 seems to start in grokfndecl() when processing the
operator() of the lambda. During grokfndecl on the operator(),
processing_template_decl is 1 but temp
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
$ cat testcase.C
template
struct bar
{
template
requires (N == 5)
bar() { }
};
template
struct foo : bar
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94719
--- Comment #1 from Patrick Palka ---
I am testing a fix.
|--- |10.0
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
Status|UNCONFIRMED |RESOLVED
Keywords||ice-on-valid-code
Resolution|--- |FIXED
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94645
--- Comment #10 from Patrick Palka ---
Oops, it turns out the ICEs I was seeing in the cmcstl2 testsuite with the
change in #c9 were actually due to PR94719, which has since been fixed. The
cmcstl2 testsuite now compiles fine with or without the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94645
Patrick Palka changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91706
Patrick Palka changed:
What|Removed |Added
CC||ppalka at gcc dot gnu.org
--- Comment
1 - 100 of 2854 matches
Mail list logo