erichkeane added inline comments.

================
Comment at: clang/lib/Frontend/InitPreprocessor.cpp:677
     //Builder.defineMacro("__cpp_aggregate_paren_init", "201902L");
-    Builder.defineMacro("__cpp_concepts", "201907L");
+    Builder.defineMacro("__cpp_concepts", "202002L");
     Builder.defineMacro("__cpp_conditional_explicit", "201806L");
----------------
aaron.ballman wrote:
> cor3ntin wrote:
> > royjacobson wrote:
> > > aaron.ballman wrote:
> > > > Does any of the not-yet-implemented bits (including from the DRs) 
> > > > impact the ability to use conditionally trivial special member 
> > > > functions? If so, we might want to be careful about aggressively 
> > > > bumping this value. (It's more palatable for us to come back and bump 
> > > > the value later than it is for us to claim we implement something fully 
> > > > when we know we don't -- the goal of the feature test macros is so that 
> > > > users don't have to resort to compiler version checks, which is what 
> > > > users have to use when they fall into that "not fully implemented" 
> > > > space.)
> > > I don't think they're very significant, and the benefits of enabling it 
> > > seem large enough for me - for example, std::expected works with 
> > > libstdc++ and passes their unit tests but is gated by this macro.
> > > 
> > > We still have a non-trivial amount of concept bugs to go over, but I 
> > > support enabling this.
> > > 
> > I think it's better to be conservative, It's the lesser of two not great 
> > options.
> > I'm hoping we can get to fix the issues in the clang 16 cycle , but in the 
> > meantime we should not claim conformance if we are not, in fact, conforming.
> > We still have a non-trivial amount of concept bugs to go over, but I 
> > support enabling this.
> 
> I think we should specify the updated macro value only after we think 
> concepts have no known major issues with them. (Unknown issues happen and 
> there's not much we can do about them, this is more that we shouldn't specify 
> that we conform to a particular feature test macro when we knowingly still 
> don't have it right yet.)
Yeah, I don't think we can set this until we can at least compile a basic 
libstdc++ ranges use, which the deferred instantiation still holds up.  That 
would be my 'bare minimum' test for whether we can set that.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D128619/new/

https://reviews.llvm.org/D128619

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to