https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94507
--- Comment #1 from Marek Polacek ---
Started with r8-2720-gf44a8dd56f5bfbd0596c39693e268ef880c06221
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94507
--- Comment #2 from Marek Polacek ---
Candidate fix:
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -18876,6 +18877,11 @@ tsubst_lambda_expr (tree t, tree args, tsubst_flags_t
complain, tree in_decl)
if (oldtmpl)
{
tmpl = tsubst_templat
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94489
--- Comment #4 from Marek Polacek ---
(In reply to Marek Polacek from comment #2)
> Doesn't seem like valid code; clang++ trunk also rejects it:
> 94489.C:28:61: error: no matching constructor for initialization of
> 'std::plus'
>
> I think the
at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
Keywords||patch
--- Comment #3 from Marek Polacek ---
I posted a patch:
https://gcc.gnu.org/pipermail/gcc-patches/2020-April/543391.html
|1
Status|UNCONFIRMED |NEW
CC||mpolacek at gcc dot gnu.org
--- Comment #1 from Marek Polacek ---
Confirmed. Looks like it never worked.
at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
CC||mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94525
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82099
Marek Polacek changed:
What|Removed |Added
CC||twelvevolt at yandex dot ru
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94490
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94478
Marek Polacek changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94507
Marek Polacek changed:
What|Removed |Added
Summary|[8/9/10 Regression] |[8/9 Regression] internal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93790
Marek Polacek changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94149
Marek Polacek changed:
What|Removed |Added
Keywords||patch, rejects-valid
--- Comment #4 from
|1
CC||mpolacek at gcc dot gnu.org
Last reconfirmed||2020-04-10
--- Comment #1 from Marek Polacek ---
Confirmed.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94546
Marek Polacek changed:
What|Removed |Added
Keywords|rejects-valid |ice-on-valid-code
Target Milestone|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94149
Marek Polacek changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
++
Assignee: unassigned at gcc dot gnu.org
Reporter: mpolacek at gcc dot gnu.org
Target Milestone: ---
<http://eel.is/c++draft/basic.scope#declarative-4.2> has a note:
A structured binding ([dcl.struct.bind]), namespace name ([basic.namespace]),
or class template name ([temp.pre]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94553
Marek Polacek changed:
What|Removed |Added
Keywords||accepts-invalid
--- Comment #1 from Mare
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94554
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94553
--- Comment #2 from Marek Polacek ---
To fix CWG 2289, we need this:
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -1705,6 +1705,9 @@ duplicate_decls (tree newdecl, tree olddecl, bool
newdecl_is_friend)
inform (olddecl_loc, "previous declarat
|RESOLVED
CC||mpolacek at gcc dot gnu.org
--- Comment #5 from Marek Polacek ---
Dup.
*** This bug has been marked as a duplicate of bug 93383 ***
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93383
Marek Polacek changed:
What|Removed |Added
CC||raphael.grimm at kit dot edu
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93383
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86327
Marek Polacek changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86327
Marek Polacek changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55004
Bug 55004 depends on bug 86327, which changed state.
Bug 86327 Summary: Spurious error on non-constant expression in constexpr
function
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86327
What|Removed |Added
---
|1
Status|UNCONFIRMED |NEW
Keywords||ice-on-invalid-code
CC||mpolacek at gcc dot gnu.org
--- Comment #1 from Marek Polacek ---
Confirmed but looks invalid.
gcc dot gnu.org |mpolacek at gcc dot
gnu.org
CC||mpolacek at gcc dot gnu.org
Status|NEW |ASSIGNED
--- Comment #8 from Marek Polacek ---
This is CWG 96. Too late for GCC 10 but I'll take a look in G
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87699
Marek Polacek changed:
What|Removed |Added
Assignee|beliveau0213 at gmail dot com |mpolacek at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94563
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87699
Marek Polacek changed:
What|Removed |Added
CC||daniel.kruegler@googlemail.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87699
--- Comment #6 from Marek Polacek ---
See Daniel's testcase for why this is more important than it might seem:
template
bool test(T*)
{
return true;
}
int main()
{
test((int*)(nullptr));
}
++
Assignee: unassigned at gcc dot gnu.org
Reporter: mpolacek at gcc dot gnu.org
Target Milestone: ---
The direct-declarator production was removed in CWG 681 but we still have many
references to it in the codebase. This makes it harder to navigate.
$ grep -n direct.declarator cp
dot gnu.org |mpolacek at gcc dot
gnu.org
Last reconfirmed||2020-04-13
Status|UNCONFIRMED |ASSIGNED
Keywords||internal-improvement
||mpolacek at gcc dot gnu.org
Ever confirmed|0 |1
Last reconfirmed||2020-04-13
--- Comment #1 from Marek Polacek ---
Confirmed.
|1
CC||mpolacek at gcc dot gnu.org
Last reconfirmed||2020-04-13
Keywords||diagnostic
--- Comment #2 from Marek Polacek ---
Confirmed.
clang++ says
error: decomposition
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89025
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89025
--- Comment #2 from Marek Polacek ---
(In reply to Marek Polacek from comment #1)
> None of the other compilers I've tried implement seem to implement this.
s/implement//
++
Assignee: unassigned at gcc dot gnu.org
Reporter: mpolacek at gcc dot gnu.org
Target Milestone: ---
void
f (int i)
{
int i;
}
is correctly rejected ([basic.scope.param]) but we don't print the previous
decl:
$ g++ -c p.C
p.C: In function ‘void f(int)’:
p.C:4:7:
|ASSIGNED
Last reconfirmed||2020-04-13
Keywords||diagnostic
Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94588
--- Comment #1 from Marek Polacek ---
...nor in the outermost block of any handler associated with a
function-try-block:
void
g (int i)
try
{
}
catch (...)
{
int i;
}
|NEW
CC||mpolacek at gcc dot gnu.org
Last reconfirmed||2020-04-13
Ever confirmed|0 |1
--- Comment #1 from Marek Polacek ---
Confirmed. Started with r10-6586
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94588
Marek Polacek changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92416
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94583
--- Comment #2 from Marek Polacek ---
We crash on the assert in get_defaulted_eh_spec:
2417 if (sfk == sfk_comparison)
2418 {
2419 /* We're in synthesize_method. Start with NULL_TREE,
build_comparison_op
2420 will adjust as n
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94571
--- Comment #4 from Marek Polacek ---
I think that won't handle
auto x(1), [e,f] = test2;
where we should also say what clang says (or at least give inform()).
|1
Target Milestone|--- |10.0
Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
Priority|P3 |P1
Status|UNCONFIRMED |ASSIGNED
CC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94592
--- Comment #5 from Marek Polacek ---
{} as a template argument is currently only supported by GCC as an extension,
but I raised this on the core C++ list and it seems that the the conclusion is
that we want this to work, though there's no CWG fo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94592
--- Comment #7 from Marek Polacek ---
Another problematical testcase:
struct A {
int i;
constexpr A(int n) : i(n) {}
};
template struct B { int i; constexpr B() : i(a.i) { } };
template void bar () {
B<{1}> var;
}
void fu() {
||mpolacek at gcc dot gnu.org
Status|UNCONFIRMED |NEW
Last reconfirmed||2020-04-16
--- Comment #1 from Marek Polacek ---
Confirmed.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94550
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94231
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94592
Marek Polacek changed:
What|Removed |Added
Keywords||patch
--- Comment #8 from Marek Polacek
at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
--- Comment #5 from Marek Polacek ---
Testing a patch.
||mpolacek at gcc dot gnu.org
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
--- Comment #1 from Marek Polacek ---
cp_build_binary_op calls cp_default_conversion on its operands and that calls
decay_conversion which has
||mpolacek at gcc dot gnu.org
Last reconfirmed||2020-04-18
Status|UNCONFIRMED |NEW
--- Comment #1 from Marek Polacek ---
Confirmed. Doesn't seem like a regression.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91849
--- Comment #3 from Marek Polacek ---
I think we could, the old diagnostic at least mentioned 'float'.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94628
--- Comment #6 from Marek Polacek ---
(In reply to Nicholas Krause from comment #5)
> Shouldn't we also we testing for TYPE_ARGUMENT_PACK as well? Seems to be
> missing in the reported patch id and is not checked higher up the stack
> after look
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94310
--- Comment #2 from Marek Polacek ---
The difference stems from the fact that in this test:
template
struct B { };
template
struct A : public B... {
using B::B...; // #1
using B::operator=...; // #2
};
int main() {}
when parsing B in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94310
--- Comment #3 from Marek Polacek ---
Potential fix:
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -16982,6 +16982,15 @@ cp_parser_template_name (cp_parser* parser,
decl = strip_using_decl (decl);
+ if (TREE_CODE (decl) == USING_DECL
+
at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
CC||mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94590
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
--- Comment
at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
--- Comment #4 from Marek Polacek ---
Untested fix:
--- a/gcc/cp/typeck2.c
+++ b/gcc/cp/typeck2.c
@@ -1008,10 +1008,17 @@ check_narrowing (tree type, tree init, tsubst_flags_t
complain,
|| !int_fits_type_p (init, type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94560
--- Comment #2 from Marek Polacek ---
This ICE is the same as the second test in bug 93085.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94575
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94575
Marek Polacek changed:
What|Removed |Added
Ever confirmed|0 |1
Last reconfirmed|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94628
--- Comment #11 from Marek Polacek ---
(In reply to Nicholas Krause from comment #9)
> Created attachment 48318 [details]
> Possible Fix
No, it's not a fix, it just replaces an ICE with another ICE, as Martin already
pointed out:
94628-3.C:5:40
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94255
--- Comment #6 from Marek Polacek ---
Patch approved for GCC 11:
https://gcc.gnu.org/pipermail/gcc-patches/2020-April/544081.html
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94590
Marek Polacek changed:
What|Removed |Added
Keywords||patch
--- Comment #5 from Marek Polacek
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94505
Marek Polacek changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91241
--- Comment #8 from Marek Polacek ---
Ping, can we get this fixed in GCC 10?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90254
--- Comment #3 from Marek Polacek ---
This reduced test actually regressed with r241187:
struct A {
A(A &);
};
struct B : A { };
A foo ();
int
main ()
{
B{foo()};
}
$ ./cc1plus -quiet x.C -std=c++17
during RTL pass: expand
x.C: In functio
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94592
Marek Polacek changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91465
Bug 91465 depends on bug 94592, which changed state.
Bug 94592 Summary: [10 Regression] ICE in non-type template parameter with
constexpr constructor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94592
What|Removed
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90254
--- Comment #4 from Marek Polacek ---
But this one is accepted by icc/clang++ yet we ICE:
struct A {
A();
A(const A &);
};
struct B : A { };
A foo ();
int
main ()
{
B b{foo()};
}
||2020-04-21
Ever confirmed|0 |1
CC||mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94691
--- Comment #1 from Marek Polacek ---
Same ICE as bug 94560 but this actually might be valid (?).
++
Assignee: unassigned at gcc dot gnu.org
Reporter: mpolacek at gcc dot gnu.org
Target Milestone: ---
This options contains a sub-option -Wrange-loop-construct which warns about:
#include
#include
int main()
{
std::vector lol;
for (const auto it : lol) { }
}
:7:21: warning: loop
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94695
Marek Polacek changed:
What|Removed |Added
Keywords||diagnostic
Severity|normal
|UNCONFIRMED |NEW
CC||mpolacek at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #2 from Marek Polacek ---
Confirmed.
|ASSIGNED
Keywords|accepts-invalid |
CC||mpolacek at gcc dot gnu.org
Last reconfirmed||2020-04-21
Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93807
--- Comment #3 from Marek Polacek ---
(Clang doesn't accept this code because it doesn't implement P0846R0 yet.)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94721
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
Ever
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93807
Marek Polacek changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90320
Marek Polacek changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
dot gnu.org |mpolacek at gcc dot
gnu.org
Target Milestone|--- |10.0
Status|UNCONFIRMED |ASSIGNED
CC||mpolacek at gcc dot gnu.org
Last reconfirmed||2020-04-23
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94721
Marek Polacek changed:
What|Removed |Added
Resolution|--- |INVALID
Status|NEW
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94733
Marek Polacek changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
|unassigned at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
Status|NEW |ASSIGNED
||mpolacek at gcc dot gnu.org
Target Milestone|--- |9.4
Last reconfirmed||2020-04-24
Ever confirmed|0 |1
Keywords||ice-on-invalid-code
--- Comment #1 from Marek
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94751
Marek Polacek changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90320
Marek Polacek changed:
What|Removed |Added
Summary|[8/9/10 Regression] |[8/9 Regression] Explicit
||mpolacek at gcc dot gnu.org
Status|UNCONFIRMED |NEW
Summary|[7.2+ Regression] Calling a |[8/9/10 Regression]
|member template function|Regression] Calling a
|fails |member template
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94799
--- Comment #2 from Marek Polacek ---
Relevant threads:
https://gcc.gnu.org/pipermail/gcc-patches/2017-June/478011.html
https://gcc.gnu.org/pipermail/gcc-patches/2017-June/478247.html
|1
Last reconfirmed||2020-04-27
CC||mpolacek at gcc dot gnu.org
Status|UNCONFIRMED |NEW
--- Comment #1 from Marek Polacek ---
Confirmed, at least gcc 4.8 prints the same
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94799
--- Comment #3 from Marek Polacek ---
Here we have "p->template A::a()" but cp_parser_expression only parses the
"p->template A" part, so we complain that a ; isn't following.
It's because cp_parser_template_name now considers the object scope:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94799
--- Comment #4 from Marek Polacek ---
Another test, where the name after . isn't an injected-class-name:
template struct B {
void foo ();
int i;
};
template
struct D : public B { };
template
void fn (D d)
{
d.template B::foo ();
d.temp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94799
Marek Polacek changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94799
Marek Polacek changed:
What|Removed |Added
Keywords||patch
--- Comment #6 from Marek Polacek
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94775
--- Comment #6 from Marek Polacek ---
The TYPE_USER_ALIGN (t) assert was there even before my change, but I agree
this is a latent problem not directly caused by r8-4668-g8a5ee94a082b3d48.
Here strip_typedefs gets "const d[0]" with TYPE_USER_ALI
101 - 200 of 10185 matches
Mail list logo