erichkeane added a comment.

In D122341#3405008 <https://reviews.llvm.org/D122341#3405008>, @aaron.ballman 
wrote:

> In D122341#3403587 <https://reviews.llvm.org/D122341#3403587>, @erichkeane 
> wrote:
>
>> Other than this 1 thing, LGTM.  I DO find myself wondering how much of the 
>> CXXMethodDecl bit in the branch above is valid for 'naked' as well.  If it 
>> ISN'T we might consider  moving this loop AND that to EmitFunctionPrologue.
>
> There's a different kind of bug there. MSVC disallows using the `naked` 
> attribute on a member function. Clang doesn't enforce this: 
> https://godbolt.org/z/6jKGbzYTq GCC has no such restriction, but GCC doesn't 
> have many diagnostics in this area anyway. We may want to reconsider whether 
> allowing the naked attribute on a non static member function is a good idea. 
> We probably don't want to allow it in MS compatibility mode at the very 
> least. But I think this can be a change for another day. WDYT?

Ah! I didn't know the bit about MSVC! I think that makes it even more 
interesting.  From what I can tell however, GCC actually DOES 'do the right 
thing' with member functions, though the motivation for them is somewhat 
suspicious.  I definitely agree we don't want to allow it in MS Compat mode 
(and agree that is a different patch).  As for in GCC mode, a part of me wants 
to just DO it and see what the fallout is.  The only value I can see for these 
as non-static member functions is in a template (or perhaps as a virtual 
function? *shudders*), and I don't see much overlap in the usage there.



================
Comment at: clang/test/CodeGen/attr-naked.c:31
+  // CHECK: define{{.*}} void @t4(i32 noundef %0, i8* noundef %1)
+  // CHECK-NEXT: entry:
+  // CHECK-NEXT: unreachable
----------------
so in the test, both 'entry' and '%0'/'%1' above are unstable names.  You might 
want to replace both with wildcards.  THOUGH, I see other parts of this test 
have the param names, so IDK?  Either way, 'entry' isn't necessarily a stable 
label.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122341/new/

https://reviews.llvm.org/D122341

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to