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

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 8 07:55:10 PDT 2025


================
@@ -717,6 +717,14 @@ bool Sema::checkMustTailAttr(const Stmt *St, const Attr &MTA) {
     return false;
   }
 
+  if (const FunctionDecl *CalleeDecl = CE->getDirectCallee()) {
+    if (CalleeDecl->hasAttr<NotTailCalledAttr>()) {
+      Diag(St->getBeginLoc(), diag::err_musttail_conflicts_with_not_tail_called)
+          << &MTA;
+      return false;
+    }
+  }
----------------
AaronBallman wrote:

```suggestion
  if (const FunctionDecl *CalleeDecl = CE->getDirectCallee();
      CalleeDecl && CalleeDecl->hasAttr<NotTailCalledAttr>()) {
    Diag(St->getBeginLoc(), diag::err_musttail_conflicts_with_not_tail_called)
        << &MTA;
    return false;
  }
```

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


More information about the cfe-commits mailing list