This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [C++ PATCH] Implement P1073R3: Immediate functions (PR c++/88335)


On Mon, Oct 21, 2019 at 1:59 PM Jason Merrill <jason@redhat.com> wrote:
> On 10/15/19 1:04 PM, Jakub Jelinek wrote:

> > Unlike the previous implementation, this doesn't invoke consteval function
> > already during parsing, but later on, so there aren't issues with say
> > consteval constructors or consteval in default arguments.
>
> Right, we can't immediately evaluate a class prvalue before we know what
> object it's initializing.

Actually, I'm not sure about this.  There's no way to consistently
know what object is being initialized soon enough for the evaluation
to be immediate, so I think we need to always create a temporary for
immediate invocations of class type, so we could go ahead and do
immediate evaluation in build_cxx_call.  I think this also follows
from an immediate invocation being a full-expression.

Jason


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]