[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-05-29 Thread Slava Pestov via Phabricator via cfe-commits
slavapestov updated this revision to Diff 202084. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59628/new/ https://reviews.llvm.org/D59628 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Basic/AttrDocs.td clang/include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-05-29 Thread Slava Pestov via Phabricator via cfe-commits
slavapestov marked 2 inline comments as done. slavapestov added inline comments. Comment at: clang/include/clang/Basic/Attr.td:297 def CUDA : LangOpt<"CUDA">; -def COnly : LangOpt<"CPlusPlus", 1>; +def COnly : LangOpt<"COnly", "!LangOpts.CPlusPlus">; def CPlusPlus :

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-05-23 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman accepted this revision. aaron.ballman added a comment. LGTM! Comment at: clang/include/clang/Basic/Attr.td:297 def CUDA : LangOpt<"CUDA">; -def COnly : LangOpt<"CPlusPlus", 1>; +def COnly : LangOpt<"COnly", "!LangOpts.CPlusPlus">; def CPlusPlus :

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-05-22 Thread John McCall via Phabricator via cfe-commits
rjmccall accepted this revision. rjmccall added a comment. This revision is now accepted and ready to land. LGTM, thanks! You should wait for Aaron's approval, too. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59628/new/ https://reviews.llvm.org/D59628

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-05-22 Thread Slava Pestov via Phabricator via cfe-commits
slavapestov updated this revision to Diff 200808. slavapestov marked 6 inline comments as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59628/new/ https://reviews.llvm.org/D59628 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Basic/AttrDocs.td

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-05-17 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/include/clang/Basic/Attr.td:292 + // "LangOpts" bound. + string CustomCode = customCode; } If this is code, should it be using a `code` type rather than a `string` type? Comment at:

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-05-16 Thread Slava Pestov via Phabricator via cfe-commits
slavapestov updated this revision to Diff 199905. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59628/new/ https://reviews.llvm.org/D59628 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Basic/AttrDocs.td clang/include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-05-16 Thread John McCall via Phabricator via cfe-commits
rjmccall added a comment. Thanks! Down to minor stuff now. Comment at: clang/include/clang/Basic/Attr.td:291 + string CustomCode = customCode; } def MicrosoftExt : LangOpt<"MicrosoftExt">; Please add a comment here explaining how to use `CustomCode`. Can

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-05-16 Thread Slava Pestov via Phabricator via cfe-commits
slavapestov updated this revision to Diff 199885. slavapestov added a comment. Updated patch to address review feedback. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59628/new/ https://reviews.llvm.org/D59628 Files: clang/include/clang/Basic/Attr.td

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-04-04 Thread John McCall via Phabricator via cfe-commits
rjmccall added inline comments. Comment at: include/clang/Basic/Attr.td:290 -class LangOpt { +class LangOpt { string Name = name; I think there's a grand total of one use of `negated`, so you might as well rewrite it to use `customCode`; see below.

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-04-03 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: include/clang/Basic/AttrDocs.td:1116 +def ObjCClassStubDocs : Documentation { +let Category = DocCatFunction; +let Content = [{ aaron.ballman wrote: > slavapestov wrote: > > aaron.ballman wrote: > > > This

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-04-03 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: include/clang/Basic/Attr.td:293 bit Negated = negated; + string CustomCode = customCode; } I think the type here should be `code` instead of `string` since the user is passing in code snippets, no?

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-04-02 Thread Slava Pestov via Phabricator via cfe-commits
slavapestov updated this revision to Diff 193407. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59628/new/ https://reviews.llvm.org/D59628 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-04-01 Thread John McCall via Phabricator via cfe-commits
rjmccall added inline comments. Comment at: lib/Sema/SemaDeclObjC.cpp:4131-4133 + if (!getLangOpts().ObjCRuntime.allowsClassStubs()) { +Diag(IntfDecl->getLocation(), diag::err_class_stub_not_supported); + } aaron.ballman wrote: > This should be

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-03-29 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D59628#1446626 , @slavapestov wrote: > I don't know what the etiquette is around here about pinging reviewers for a > re-review, but this CL is ready for another look. Your feedback is much > appreciated! Thanks for

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-03-28 Thread Slava Pestov via Phabricator via cfe-commits
slavapestov added a comment. I don't know what the etiquette is around here about pinging reviewers for a re-review, but this CL is ready for another look. Your feedback is much appreciated! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59628/new/ https://reviews.llvm.org/D59628

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-03-26 Thread John McCall via Phabricator via cfe-commits
rjmccall added inline comments. Comment at: lib/CodeGen/CGObjCMac.cpp:7274 +// Classrefs pointing at Objective-C stub classes have the least +// significant bit set to 1. +auto *Tag = llvm::ConstantInt::get(CGM.IntPtrTy, 1); slavapestov

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-03-26 Thread Slava Pestov via Phabricator via cfe-commits
slavapestov updated this revision to Diff 192378. slavapestov marked 2 inline comments as done. slavapestov added a comment. Second revision adds the following: - Validation of the attribute in Sema - Sema tests for the above - Correct behavior of super method calls of a class with the attribute

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-03-26 Thread Slava Pestov via Phabricator via cfe-commits
slavapestov marked 11 inline comments as done. slavapestov added a comment. Thanks for the comments everyone. In the next version of the patch, I fixed most of the review feedback and also addressed an issue where super message sends were not calling `objc_loadClassRef()`.

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-03-26 Thread Jordan Rose via Phabricator via cfe-commits
jordan_rose added inline comments. Comment at: lib/CodeGen/CGObjCMac.cpp:7285 -Entry = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ClassnfABIPtrTy, +Entry = new llvm::GlobalVariable(CGM.getModule(), ClassGV->getType(),

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-03-21 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. You should also add Sema tests that ensure the attribute applies to the expected AST nodes, is diagnosed appropriately when applied to something it shouldn't be applied to, accepts no args, etc. Basically, all of the semantic places we could warn on should have

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-03-20 Thread John McCall via Phabricator via cfe-commits
rjmccall requested changes to this revision. rjmccall added inline comments. This revision now requires changes to proceed. Comment at: include/clang/Basic/AttrDocs.td:1118 +let Content = [{ +This attribute specifies that the Objective-C class to which it applies has

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-03-20 Thread Slava Pestov via Phabricator via cfe-commits
slavapestov created this revision. slavapestov added reviewers: rjmccall, dexonsmith, aaron.ballman. Herald added a project: clang. Herald added a subscriber: cfe-commits. dexonsmith edited reviewers, added: erik.pilkington, arphaman; removed: dexonsmith. dexonsmith added a comment. +Erik and

[PATCH] D59628: Add support for __attribute__((objc_class_stub))

2019-03-20 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith edited reviewers, added: erik.pilkington, arphaman; removed: dexonsmith. dexonsmith added a comment. +Erik and Alex, can you take a look at this? Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59628/new/ https://reviews.llvm.org/D59628