[clang] [Clang][Sema]:Fix musttail attribute on a function with not_tail_called attribute has no warning/error (PR #134465)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 14 06:17:10 PDT 2025


================
@@ -0,0 +1,17 @@
+// RUN: %clang_cc1 -verify -fsyntax-only %s
+
+int __attribute__((not_tail_called)) foo1(int a) {
+    return a + 1;  
+}
+
+
+int foo2(int a) {
+    [[clang::musttail]] 
+    return foo1(a);  // expected-error {{cannot perform a tail call to function 'foo1' because its signature is incompatible with the calling function}}
----------------
erichkeane wrote:

Ooof... I know @AaronBallman suggested reusing the diagnostic... can we do at least a note (perhaps pointing to the attribute `not_tail_called`) to show WHY we are emitting this error? 

Something like: `note: 'not_tail_called' attribute here prevents being called as a tail call'?

https://github.com/llvm/llvm-project/pull/134465


More information about the cfe-commits mailing list