rsmith added inline comments.

================
Comment at: lib/Sema/Sema.cpp:473
   if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
+    // If this is a function template and neither of its specs is used, warn.
+    if (FunctionTemplateDecl *Template = FD->getDescribedFunctionTemplate())
----------------
neither -> none, specs -> specializations ("specs" makes me think 
"specifications").


================
Comment at: lib/Sema/Sema.cpp:503
+    if (VarTemplateDecl *Template = VD->getDescribedVarTemplate())
+      // If this is a variable template and neither of its specs is used, warn.
+      for (const auto *Spec : Template->specializations())
----------------
As above.


================
Comment at: lib/Sema/SemaDecl.cpp:1496
         return false;
+      // 'static operator' functions are defined in headers; don't warn.
+      if (FD->isOverloadedOperator() &&
----------------
v.g.vassilev wrote:
> rsmith wrote:
> > Why? Defining a static operator in a header sounds like a bug to me.
> It seems we have some of these here:
> 
> include/llvm/ADT/PointerUnion.h:static bool operator==(PointerUnion<PT1, PT2> 
> lhs, PointerUnion<PT1, PT2> rhs) {
> include/llvm/ADT/PointerUnion.h:static bool operator!=(PointerUnion<PT1, PT2> 
> lhs, PointerUnion<PT1, PT2> rhs) {
> include/llvm/ADT/PointerUnion.h:static bool operator<(PointerUnion<PT1, PT2> 
> lhs, PointerUnion<PT1, PT2> rhs) {
> include/llvm/Transforms/Utils/ValueMapper.h:static inline RemapFlags 
> operator|(RemapFlags LHS, RemapFlags RHS) {
> 
> If that's a bug, I will remove this check.
Yes, those are bugs.


https://reviews.llvm.org/D29877



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

Reply via email to