https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
--- Comment #12 from CVS Commits ---
The master branch has been updated by Jason Merrill :
https://gcc.gnu.org/g:270c5a982ccb4ef83bd9ad37d39cf47461acb55a
commit r11-3893-g270c5a982ccb4ef83bd9ad37d39cf47461acb55a
Author: Jason Merrill
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
--- Comment #11 from Jakub Jelinek ---
(In reply to Jason Merrill from comment #10)
> This doesn't look valid to me. In
>
> [x...] { x; }...
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358#c3 is what they actually
have (not sure if it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
Jason Merrill changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
--- Comment #10 from Jason Merrill ---
This doesn't look valid to me. In
[x...] { x; }...
we capture the entire pack, but then try to use only a single element. This
should be rejected because the use of x in the lambda body is not
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
--- Comment #9 from Jakub Jelinek ---
If what clang++ does with the copy ctors is right, then what firefox does is
inefficient and
[aSpecialValueMappers](const SpecialConstant& aSpecialValue) {
return
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
--- Comment #8 from Patrick Palka ---
Also, I wonder what the final value of copy_counter should be in the below
testcase (assuming it's valid):
static int copy_counter;
struct S {
S() = default;
S(const S&) { ++copy_counter; }
};
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
--- Comment #7 from Patrick Palka ---
(In reply to Jakub Jelinek from comment #6)
> (In reply to Petr Sumbera from comment #5)
> > Is there any workaround for this issue?
>
> I guess replacing that
> [aSpecialValueMappers...](const
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
--- Comment #6 from Jakub Jelinek ---
(In reply to Petr Sumbera from comment #5)
> Is there any workaround for this issue?
I guess replacing that
[aSpecialValueMappers...](const SpecialConstant& aSpecialValue) {
with
[=](const SpecialConstant&
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
--- Comment #5 from Petr Sumbera ---
Is there any workaround for this issue?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
Jakub Jelinek changed:
What|Removed |Added
CC||sumbera at volny dot cz
--- Comment #4
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
--- Comment #3 from Jakub Jelinek ---
The original Firefox problematic template is:
template
ErrorResult ExtractErrorResult(SpecialValueMappers... aSpecialValueMappers) {
return mVariant.match(
[](ErrorResult& aException) {
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
--- Comment #2 from Jakub Jelinek ---
template void foo (T... x)
{
}
template void bar (T... x)
{
foo ([x...] { static_cast (x); }...);
}
void
test ()
{
bar ();
bar (1);
bar (2.0, 3LL, 4);
}
ICEs too.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
Richard Biener changed:
What|Removed |Added
Keywords||ice-on-valid-code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
--- Comment #1 from Jakub Jelinek ---
Slightly modified testcase where bar is surely instantiated and clang++ still
accepts it. It actually ICEs in all of -std=c++{11,14,17,20}.
struct A;
struct B { A foo (); };
enum C { E };
struct A {
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
Jakub Jelinek changed:
What|Removed |Added
Target Milestone|--- |8.5
Last reconfirmed|
15 matches
Mail list logo