aaron.ballman added inline comments.

================
Comment at: include/clang/Basic/Attr.td:182
+  // it would always be false.
+  string DisallowImplicitThisParamName = disallowImplicitThisParamName;
+}
----------------
Is there much benefit to forcing the attribute author to pick a name for this? 
It seems like this is more of a Boolean value: either implicit this is allowed 
or not. It would be really nice if we could hide these mechanics as 
implementation details so that the user only needs to write 
`VariadicParamIndexArgument<"name", DisallowImplicitThis>` (or something 
similar) when defining the attribute, and ideally not have to do any extra work 
in SemaDeclAttr.cpp by taking care of it in ClangAttrEmitter.cpp if possible.


================
Comment at: lib/Sema/SemaDeclAttr.cpp:355-357
   }
+  else if (DisallowImplicitThisParam)
+    *DisallowImplicitThisParam = false;
----------------
Formatting is off here -- the `else if` should go up a line.


================
Comment at: lib/Sema/SemaDeclAttr.cpp:4612
+                                           TypeTagIdx, false,
+                                           &DisallowImplicitThisParam))
     return;
----------------
This value cannot be different from the previously-read value, correct? Might 
want to assert that.


================
Comment at: test/Sema/attr-print.cpp:1
+// RUN: %clang_cc1 %s -ast-print | FileCheck %s
+
----------------
-ast-print tests generally live in Misc rather than Sema -- can you move this 
test over to that directory?


================
Comment at: test/Sema/attr-print.cpp:33
+  // CHECK: void ownr(int) __attribute__((ownership_returns(foo, 2)));
+};
----------------
Can you add some tests for `__attribute__((format))` and 
`__attribute__((format_arg))` to demonstrate that their pretty-printed argument 
values are also sensible?


https://reviews.llvm.org/D43248



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

Reply via email to