nickdesaulniers updated this revision to Diff 223088. nickdesaulniers marked 3 inline comments as done. nickdesaulniers added a comment.
- add links - remove extra whitespace - rewording, split onto separate lines to ease code review - add spellings to heading Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D68410/new/ https://reviews.llvm.org/D68410 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Basic/AttrDocs.td Index: clang/include/clang/Basic/AttrDocs.td =================================================================== --- clang/include/clang/Basic/AttrDocs.td +++ clang/include/clang/Basic/AttrDocs.td @@ -4391,3 +4391,22 @@ }]; } + +def AlwaysInlineDocs : Documentation { + let Category = DocCatFunction; + let Content = [{ +Inline heuristics are disabled and inlining is always attempted regardless of +optimization level. + +Does not guarantee that inline substitution actually occurs. + +See also `the MSDN Inline docs`_, `the GCC Common Function Attribute docs`_, +and `the GCC Inline docs`_. + +.. _the MSDN Inline docs: https://docs.microsoft.com/en-us/cpp/cpp/inline-functions-cpp +.. _the GCC Common Function Attribute docs: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html +.. _the GCC Inline docs: https://gcc.gnu.org/onlinedocs/gcc/Inline.html + +}]; + let Heading = "always_inline, __force_inline"; +} Index: clang/include/clang/Basic/Attr.td =================================================================== --- clang/include/clang/Basic/Attr.td +++ clang/include/clang/Basic/Attr.td @@ -636,7 +636,7 @@ def AlwaysInline : InheritableAttr { let Spellings = [GCC<"always_inline">, Keyword<"__forceinline">]; let Subjects = SubjectList<[Function]>; - let Documentation = [Undocumented]; + let Documentation = [AlwaysInlineDocs]; } def Artificial : InheritableAttr {
Index: clang/include/clang/Basic/AttrDocs.td =================================================================== --- clang/include/clang/Basic/AttrDocs.td +++ clang/include/clang/Basic/AttrDocs.td @@ -4391,3 +4391,22 @@ }]; } + +def AlwaysInlineDocs : Documentation { + let Category = DocCatFunction; + let Content = [{ +Inline heuristics are disabled and inlining is always attempted regardless of +optimization level. + +Does not guarantee that inline substitution actually occurs. + +See also `the MSDN Inline docs`_, `the GCC Common Function Attribute docs`_, +and `the GCC Inline docs`_. + +.. _the MSDN Inline docs: https://docs.microsoft.com/en-us/cpp/cpp/inline-functions-cpp +.. _the GCC Common Function Attribute docs: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html +.. _the GCC Inline docs: https://gcc.gnu.org/onlinedocs/gcc/Inline.html + +}]; + let Heading = "always_inline, __force_inline"; +} Index: clang/include/clang/Basic/Attr.td =================================================================== --- clang/include/clang/Basic/Attr.td +++ clang/include/clang/Basic/Attr.td @@ -636,7 +636,7 @@ def AlwaysInline : InheritableAttr { let Spellings = [GCC<"always_inline">, Keyword<"__forceinline">]; let Subjects = SubjectList<[Function]>; - let Documentation = [Undocumented]; + let Documentation = [AlwaysInlineDocs]; } def Artificial : InheritableAttr {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits