hubert.reinterpretcast added inline comments.

================
Comment at: include/clang/AST/Decl.h:1577
@@ -1576,2 +1576,3 @@
   bool IsConstexpr : 1;
+  bool IsConcept : 1;
 
----------------
nwilson wrote:
> faisalv wrote:
> > My inclination would have been to add this bit to FunctionTemplateDecl, 
> > instead of to every FunctionDecl - since not every kind of FunctionDecl can 
> > be a concept ...  My first instinct would have been to add an enum to 
> > TemplateKind, and then forward isConcept() to check if we are a template 
> > and if so, through it, if concept is specified?  
> > 
> > But I suppose that adds more complexity, and you trade space for speed - 
> > For my own edification, could I ask you or Richard to comment on the cons 
> > of that approach - and why the current approach is preferred? (i.e. 
> > simplicity over complexity or space over time etc.)
> Sorry for the slow reply. Yeah, I thought it was a little more 
> straightforward having isConcept as a member function of FunctionDecl (and 
> the bit). It also seemed that we'd be okay in terms of size since 17 bits are 
> already being used here and adding one more wouldn't go over a byte boundary. 
> Maybe Richard has other thoughts though?
I am not sure what the original justification was for IsTrivial to be a bit 
here instead of in CXXMethodDecl, but it seems that similar considerations 
apply.

================
Comment at: lib/Sema/SemaDecl.cpp:5909
@@ +5908,3 @@
+             diag::err_concept_specified_specialization)
+          << (IsPartialSpecialization ? 2 : 1);
+        NewVD->setInvalidDecl(true);
----------------
Should we mention that the partial specialization case is pending additional 
wording (under Concepts TS Issue 15)?


http://reviews.llvm.org/D13357



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

Reply via email to