Author: Steven Wu Date: 2023-07-28T11:39:46-07:00 New Revision: 4098e13a71464cc4747528edd8a41e5a4eaa1b23
URL: https://github.com/llvm/llvm-project/commit/4098e13a71464cc4747528edd8a41e5a4eaa1b23 DIFF: https://github.com/llvm/llvm-project/commit/4098e13a71464cc4747528edd8a41e5a4eaa1b23.diff LOG: Revert "[clang][DeclPrinter] Fix missing semicolon in AST print for methods that are definitions without having a body" This reverts commit a3da6284c23affdd9092b2641017e99d85c2d89b. It breaks tests on macOS as macOS doesn't support attribute alias. Added: Modified: clang/lib/AST/DeclPrinter.cpp clang/test/AST/ast-print-method-decl.cpp Removed: ################################################################################ diff --git a/clang/lib/AST/DeclPrinter.cpp b/clang/lib/AST/DeclPrinter.cpp index 0608b48f3a880e..bf4d26c723d2e6 100644 --- a/clang/lib/AST/DeclPrinter.cpp +++ b/clang/lib/AST/DeclPrinter.cpp @@ -463,12 +463,12 @@ void DeclPrinter::VisitDeclContext(DeclContext *DC, bool Indent) { else if (isa<ObjCMethodDecl>(*D) && cast<ObjCMethodDecl>(*D)->hasBody()) Terminator = nullptr; else if (auto FD = dyn_cast<FunctionDecl>(*D)) { - if (FD->doesThisDeclarationHaveABody() && !FD->isDefaulted()) + if (FD->isThisDeclarationADefinition()) Terminator = nullptr; else Terminator = ";"; } else if (auto TD = dyn_cast<FunctionTemplateDecl>(*D)) { - if (TD->getTemplatedDecl()->doesThisDeclarationHaveABody()) + if (TD->getTemplatedDecl()->isThisDeclarationADefinition()) Terminator = nullptr; else Terminator = ";"; diff --git a/clang/test/AST/ast-print-method-decl.cpp b/clang/test/AST/ast-print-method-decl.cpp index 3c3b8ceaf86389..505e07dde1a868 100644 --- a/clang/test/AST/ast-print-method-decl.cpp +++ b/clang/test/AST/ast-print-method-decl.cpp @@ -85,18 +85,3 @@ struct CurlyCtorInit { // CHECK-NEXT: }; }; - - -// CHECK: struct DefMethodsWithoutBody { -struct DefMethodsWithoutBody { - // CHECK-NEXT: DefMethodsWithoutBody() = delete; - DefMethodsWithoutBody() = delete; - - // CHECK-NEXT: DefMethodsWithoutBody() = default; - ~DefMethodsWithoutBody() = default; - - // CHECK-NEXT: void m1() __attribute__((alias("X"))); - void m1() __attribute__((alias("X"))); - - // CHECK-NEXT: }; -}; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits