[PATCH] D15998: Implement __attribute__((gc_leaf_function)).

Manuel Jacob via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 12 08:58:27 PST 2016

mjacob added a comment.

In http://reviews.llvm.org/D15998#324757, @aaron.ballman wrote:

> Can you point me to some documentation on what the semantics of this attribute are? For instance, how does it play with other attributes (like naked or dllexport), is there a reason it shouldn't apply to Objective-C methods, etc?

As it was noted earlier in this review, this attribute (as its underlying LLVM attribute) is underspecified. We should discuss the semantics (and whether we want to keep it in the first place) of the LLVM attribute on the mailing list. I'm not sure how we should proceed with this patch in the meantime, probably one of:

1. Mark this (Clang) attribute as tentative, and remove it in case we remove the LLVM attribute.
2. Close this revision and create a new patch depending on the outcome of the discussion.
3. Postpone (but not close) this revision.

Comment at: include/clang/Basic/Attr.td:2175
@@ +2174,3 @@
+def GcLeafFunction : InheritableAttr {
+  let Spellings = [GNU<"gc_leaf_function">];
+  let Subjects = SubjectList<[Function]>;
aaron.ballman wrote:
> Any particular reason for this to not have a C++11 spelling under the clang namespace, in addition to the GNU-style spelling?
I'll add this in case we decide the attribute is the right approach.


More information about the cfe-commits mailing list