rsmith added inline comments.

================
Comment at: include/clang/AST/DeclTemplate.h:373-391
+class TemplateDeclWithACBase {
+protected:
+  TemplateDeclWithACBase() = default;
+
+  ConstrainedTemplateDeclInfo CTDInfo;
+};
+
----------------
This mechanism seems unnecessary to me; allocating the 
`ConstrainedTemplateDeclInfo` separately seems a lot simpler. Forcing this and 
the template into a single allocation is unlikely to help anything since we use 
a slab allocator (which is going to lay the objects out the same way this 
template trick does, unless we hit the end of a slab).


================
Comment at: lib/Sema/SemaTemplate.cpp:1178
+      if (!(CurAC || PrevAC))
+        return false; // nothing to check
+      if (CurAC && PrevAC) {
----------------
[nit] Comments should be full sentences: capitalized and ending in a period.


================
Comment at: lib/Sema/SemaTemplate.cpp:1299-1300
 
+  // Attach the associated constraints when the declaration will not be part of
+  // a decl chain
+  Expr *const ACtoAttach =
----------------
Is there a reason you don't want to store the associated constraints that were 
specified on a redeclaration? I'd expect that to hurt tools that want source 
fidelity (for instance, a renaming tool will want to be able to find all the 
references to a particular name, even in a //requires-clause// on a 
redeclaration of a template).


https://reviews.llvm.org/D25674



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

Reply via email to