https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92593
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92236
--- Comment #6 from Andrew Sutton ---
I'm going to send a patch for this, hopefully this morning, that ties concept
diagnostics into static asserts. It wasn't as bad as I thought it was going to
be.
I didn't implement this:
static_assert
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89442
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89913
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90287
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90734
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92078
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92040
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92186
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92103
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92403
--- Comment #2 from Andrew Sutton ---
This seems like a duplicate of 92186.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92214
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92403
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92439
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92236
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92268
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71125
--- Comment #3 from Andrew Sutton ---
The TS did allow overloading function concepts.
Function concepts have some parsing issues related to TS-style terse notation,
overloading and variadic templates. In particular, there are places where
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78752
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67862
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67860
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67825
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67774
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67727
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67719
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67704
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67697
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67692
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67685
--- Comment #3 from Andrew Sutton ---
Fixed in the concepts-cxx2a branch and added a test for the PR.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67684
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67658
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67654
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67427
--- Comment #1 from Andrew Sutton ---
I believe that the ambiguity is correct under the revised semantics of
concepts.
The targets of the parameter mapping in Sentinel differs for the two
declarations of distance because the order of template
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67319
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67225
--- Comment #7 from Andrew Sutton ---
It looks like there was an earlier state where access was being turned
off by one construct or another. All of the examples here fail as they're
supposed to. Added tests to concepts-cxx2a.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67217
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67210
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67178
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67147
--- Comment #6 from Andrew Sutton ---
There's a test for this PR in the concepts-cxx2a branch.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67148
--- Comment #3 from Andrew Sutton ---
This seems to have been fixed at some point. All examples compile in the
concepts-cxx2a branch, which also has a test for this PR.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67147
--- Comment #5 from Andrew Sutton ---
This seems to have been fixed at some point. All examples compile in the
concepts-cxx2a branch.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67070
--- Comment #11 from Andrew Sutton ---
Most of the concerns in this issue have been resolved when concept satisfaction
was defined in terms of normalized constraints in all contexts (requirements or
otherwise). In particular. negation makes the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66844
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: andrew.n.sutton at gmail dot com
Target Milestone: ---
When a constrained-type-specifier is the same as that of a parameter type, the
return type is not deduced.
template concept bool C
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71965
--- Comment #5 from Andrew Sutton ---
Hmm... I haven't looked at this in a while. It looks like the expansion of
ConstructibleObject is triggering the diagnostic. I'm a
little surprised that this gets diagnosed --
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67685
Andrew Sutton changed:
What|Removed |Added
CC||andrew.n.sutton at gmail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67070
--- Comment #7 from Andrew Sutton andrew.n.sutton at gmail dot com ---
We haven't evaluated constraints as expressions in a long time (since
post-Rapperswil I think).
I don't think this is a good idea, but mostly because I'm not sure what
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67070
--- Comment #8 from Andrew Sutton andrew.n.sutton at gmail dot com ---
And as an afterthought, adding negation makes the subsumption solver more
complex, since determining implications in the presence of negation would mean
decomposition of both
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67070
--- Comment #2 from Andrew Sutton andrew.n.sutton at gmail dot com ---
This is a very subtle point. It seems to me that it would be better if
creating the normal form of a constaint stops substituting into concept bodies
once it's clear
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962
--- Comment #14 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Created attachment 36054
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=36054action=edit
Optimize constraint decomposition by contraction
The problem isn't strictly
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66988
--- Comment #1 from Andrew Sutton andrew.n.sutton at gmail dot com ---
I don't know if that's strictly a concepts issue. My guess is that the template
argument coersion of this argument:
template typename class
to this parameter
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962
--- Comment #13 from Andrew Sutton andrew.n.sutton at gmail dot com ---
There are a couple of other problems in the minimized example (concept int
shows up a couple of times, there's a variable template whose initializer is a
requires expression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66834
--- Comment #12 from Andrew Sutton andrew.n.sutton at gmail dot com ---
So it seems that applying the DR 1430 tentative resolution to concepts
severely
limits the usability of variadic concepts, and we should reconsider that, so
that instead
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66841
--- Comment #1 from Andrew Sutton andrew.n.sutton at gmail dot com ---
The program is ill-formed. In this line:
requires ConstructibleT, Args...() // ERROR HERE
There's no single declaration of Constructible that can be matched to those
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66834
--- Comment #7 from Andrew Sutton andrew.n.sutton at gmail dot com ---
I would expect a partial ordering to prefer the two-parameter overload in that
case. But yeah, it's a separate issue.
The problem is that partial ordering doesn't apply
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66834
--- Comment #2 from Andrew Sutton andrew.n.sutton at gmail dot com ---
I think that this is invalid too. There's an expansion from an
uninstantiated template argument pack into a pair of template
parameters.
I think the program must be ill
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66092
Andrew Sutton andrew.n.sutton at gmail dot com changed:
What|Removed |Added
CC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66091
--- Comment #1 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Confirmed. Fixed in r223061.
When a function declaration started with a non-function declarator, the
requires-clause wasn't being attached to the right declarator object so
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65854
--- Comment #2 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Confirmed. Parsing a type requirement that names an alias template was giving
back a declaration, which wasn't being instantiated correctly.
r222769 unwraps the type from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65848
--- Comment #4 from Andrew Sutton andrew.n.sutton at gmail dot com ---
I think that is actually not so unfortunate. Statically asserting
concept models has helped me find numerous issues in my own code.
I'm glad to hear the proposal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65848
--- Comment #2 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Here's the result of the latest commit (r222332) on my system. test.cpp is the
program in the bug report.
Command being timed: ~/opt/bin/g++ -std=c++1z -c test.cpp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65848
--- Comment #1 from Andrew Sutton andrew.n.sutton at gmail dot com ---
This is caused by the use of a concept outside of a requires clause -- it's
still a bug though. The TS doesn't actually include wording that would allow
this program
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65681
--- Comment #1 from Andrew Sutton andrew.n.sutton at gmail dot com ---
This is a good one. It is a regression, but it didn't have to do with the
resolution of partial specializations.
The substitution into requires-expressions was too eagerly
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65636
--- Comment #2 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Confirmed and with a tentative fix in r221856.
Certain type declarations occurring at namespace scope are not given C++
language extensions, so when we try to pass those
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65636
--- Comment #1 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Created attachment 35225
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35225action=edit
Proposed solution
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65635
--- Comment #1 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Confirmed and fixed in r221857.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65634
--- Comment #1 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Created attachment 35222
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35222action=edit
Proposed solution
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65634
--- Comment #2 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Confirmed and fixed 221854, but I'd like a maintainer to look at the attached
patch.
The bug was caused by asking for TYPE_NOTHROW_P on the function return type
instead
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65575
--- Comment #3 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Created attachment 35163
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35163action=edit
Patch applied in r221733
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65575
--- Comment #4 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Apparently I do not understand declarators. The attached patch searches through
the declarator structure to filter out declarator structures to which a
requires-clause cannot
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65575
--- Comment #6 from Andrew Sutton andrew.n.sutton at gmail dot com ---
The requires-clause comes before the = default (the = xxx) is considered part
of the function definition. So:
void f() requires true = default;
As a side note
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65575
--- Comment #1 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Confirmed and resolved in r221695.
Removed the check for trailing requires-clauses on non-function declarators.
This should make the presence of a trailing-requires clause
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65552
Andrew Sutton andrew.n.sutton at gmail dot com changed:
What|Removed |Added
CC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65269
--- Comment #4 from Andrew Sutton andrew.n.sutton at gmail dot com ---
Seems to me that return requires() as yet does not do type requirement
as mentioned in n3701.pdf, pg 6
I needed to push the relevant changes to Origin, which I just did.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65269
Andrew Sutton andrew.n.sutton at gmail dot com changed:
What|Removed |Added
CC
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59361
Andrew Sutton andrew.n.sutton at gmail dot com changed:
What|Removed |Added
CC
75 matches
Mail list logo