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
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits