[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2019-01-18 Thread Johannes Doerfert via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL351629: Emit !callback metadata and introduce the callback attribute (authored by jdoerfert, committed by ). Changed prior to commit: https://reviews.llvm.org/D55483?vs=181631=182665#toc Repository:

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2019-01-15 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. LGTM aside from some minor nits. However, please hold off on committing this until *after* the 8.0 branch happens. While I don't expect there to be issues with this patch, it

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2019-01-14 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 181631. jdoerfert added a comment. Generalize the treatment of "kw_this" as "kw_ident" Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55483/new/ https://reviews.llvm.org/D55483 Files: include/clang/AST/ASTContext.h

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2019-01-14 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 181622. jdoerfert marked 2 inline comments as done. jdoerfert added a comment. Small fixes, allow "this" inside "callbacks" Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55483/new/ https://reviews.llvm.org/D55483 Files:

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2019-01-14 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: include/clang/Basic/AttrDocs.td:3780 +represent an implicit "this" pointer in class methods. If there is no implicit +"this" pointer it shall not be referenced. The index '-1', or the name "?", +represents an unknown callback

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2019-01-11 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. Updated according to your comments. Comment at: lib/Sema/SemaDeclAttr.cpp:3481 + llvm::StringMap NameIdxMapping; + NameIdxMapping["__"] = -1; + aaron.ballman wrote: > This doesn't match the documentation -- I assume you switched

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2019-01-11 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 181420. jdoerfert marked 21 inline comments as done. jdoerfert added a comment. Style changes, clang-format, documentation improvements Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55483/new/

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2019-01-11 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: include/clang/Basic/Attr.td:1204 + VariadicUnsignedArgument<"PayloadIndices">]; + let Subjects = SubjectList<[Function]>; + let Documentation = [Undocumented]; jdoerfert wrote: > jdoerfert wrote: >

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2019-01-09 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 3 inline comments as done. jdoerfert added inline comments. Comment at: include/clang/Basic/Attr.td:1204 + VariadicUnsignedArgument<"PayloadIndices">]; + let Subjects = SubjectList<[Function]>; + let Documentation = [Undocumented];

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2019-01-09 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 180971. jdoerfert added a comment. Allow to use names in the callback metadata Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55483/new/ https://reviews.llvm.org/D55483 Files: include/clang/AST/ASTContext.h

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2019-01-08 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 180714. jdoerfert added a comment. Fix tests Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55483/new/ https://reviews.llvm.org/D55483 Files: include/clang/AST/ASTContext.h include/clang/Basic/Attr.td

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2019-01-08 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 180710. jdoerfert marked 3 inline comments as done. jdoerfert added a comment. Update encoding, rebase to HEAD Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55483/new/ https://reviews.llvm.org/D55483 Files:

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2018-12-13 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 2 inline comments as done. jdoerfert added inline comments. Comment at: include/clang/Basic/Builtins.def:942 LIBBUILTIN(alloca, "v*z", "f", "stdlib.h", ALL_GNU_LANGUAGES) +LIBBUILTIN(qsort_r, "", "fC<3,-1,-1,4>", "stdlib.h",

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2018-12-13 Thread Alexander Richardson via Phabricator via cfe-commits
arichardson added inline comments. Comment at: include/clang/Basic/Builtins.def:942 LIBBUILTIN(alloca, "v*z", "f", "stdlib.h", ALL_GNU_LANGUAGES) +LIBBUILTIN(qsort_r, "", "fC<3,-1,-1,4>", "stdlib.h", ALL_GNU_LANGUAGES) // POSIX string.h

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2018-12-11 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. Thanks for the feedback. Once we decided on the style of the annotation, I will implement that and change the tests/documentation accordingly. Comment at: include/clang/Basic/Attr.td:1204 + VariadicUnsignedArgument<"PayloadIndices">];

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2018-12-11 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 11. jdoerfert marked 11 inline comments as done. jdoerfert added a comment. Fix and improve documentation Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55483/new/ https://reviews.llvm.org/D55483 Files:

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2018-12-11 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: include/clang/Basic/Attr.td:1204 + VariadicUnsignedArgument<"PayloadIndices">]; + let Subjects = SubjectList<[Function]>; + let Documentation = [Undocumented]; jdoerfert wrote: > aaron.ballman

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2018-12-10 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 177662. jdoerfert added a comment. Update according to initial feedback Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55483/new/ https://reviews.llvm.org/D55483 Files: include/clang/AST/ASTContext.h

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2018-12-10 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 2 inline comments as done. jdoerfert added a comment. In D55483#1326029 , @aaron.ballman wrote: > This is missing all of the Sema and SemaCXX tests. Should have tests for > member functions, variadic functions, incorrect arguments,

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2018-12-10 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman requested changes to this revision. aaron.ballman added a comment. This revision now requires changes to proceed. This is missing all of the Sema and SemaCXX tests. Should have tests for member functions, variadic functions, incorrect arguments, incorrect subjects, etc.

[PATCH] D55483: Introduce the callback attribute and emit !callback metadata

2018-12-08 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert created this revision. jdoerfert added reviewers: hfinkel, reames, fhahn, ABataev. Herald added subscribers: jfb, bollu. With commit rX (currently https://reviews.llvm.org/D54498), LLVM gained the ability to apply existing optimizations on indirections through callbacks. This