diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/include/clang/Basic/AttrDocs.td | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/include/clang/Basic/AttrDocs.td b/clang/include/clang/Basic/AttrDocs.td index f9d962fbdec..b28ef6df0ed 100644 --- a/clang/include/clang/Basic/AttrDocs.td +++ b/clang/include/clang/Basic/AttrDocs.td @@ -1627,7 +1627,9 @@ def NotTailCalledDocs : Documentation { The ``not_tail_called`` attribute prevents tail-call optimization on statically bound calls. It has no effect on indirect calls. Virtual functions, objective-c methods, and functions marked as ``always_inline`` cannot be marked as ``not_tail_called``. For example, it prevents tail-call optimization in the following case: + .. code-block: c + int __attribute__((not_tail_called)) foo1(int); int foo2(int a) { @@ -1635,7 +1637,9 @@ For example, it prevents tail-call optimization in the following case: } However, it doesn't prevent tail-call optimization in this case: + .. code-block: c + int __attribute__((not_tail_called)) foo1(int); int foo2(int a) { @@ -1647,7 +1651,9 @@ However, it doesn't prevent tail-call optimization in this case: } Marking virtual functions as ``not_tail_called`` is an error: + .. code-block: c++ + class Base { public: // not_tail_called on a virtual function is an error. |

