Author: Benson Chu Date: 2021-08-24T11:41:50-05:00 New Revision: 1b19f90a2390b60852c0ff5e1671c76dd82dac83
URL: https://github.com/llvm/llvm-project/commit/1b19f90a2390b60852c0ff5e1671c76dd82dac83 DIFF: https://github.com/llvm/llvm-project/commit/1b19f90a2390b60852c0ff5e1671c76dd82dac83.diff LOG: Revert "[AST] Pick last tentative definition as the acting definition" This reverts commit 9a5f3888505630cea88f8372d3068b2d63cfb381. The written test breaks some builds on Mach-O. Added: Modified: clang/lib/AST/Decl.cpp Removed: clang/test/CodeGen/attr-tentative-definition.c ################################################################################ diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp index 835e28c0bc9fc..aa9fba519642a 100644 --- a/clang/lib/AST/Decl.cpp +++ b/clang/lib/AST/Decl.cpp @@ -2216,18 +2216,14 @@ VarDecl *VarDecl::getActingDefinition() { return nullptr; VarDecl *LastTentative = nullptr; - - // Loop through the declaration chain, starting with the most recent. - for (VarDecl *Decl = getMostRecentDecl(); Decl; - Decl = Decl->getPreviousDecl()) { - Kind = Decl->isThisDeclarationADefinition(); + VarDecl *First = getFirstDecl(); + for (auto I : First->redecls()) { + Kind = I->isThisDeclarationADefinition(); if (Kind == Definition) return nullptr; - // Record the first (most recent) TentativeDefinition that is encountered. - if (Kind == TentativeDefinition && !LastTentative) - LastTentative = Decl; + if (Kind == TentativeDefinition) + LastTentative = I; } - return LastTentative; } diff --git a/clang/test/CodeGen/attr-tentative-definition.c b/clang/test/CodeGen/attr-tentative-definition.c deleted file mode 100644 index 7405e8079b220..0000000000000 --- a/clang/test/CodeGen/attr-tentative-definition.c +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: %clang_cc1 -emit-llvm < %s | FileCheck %s - -char arr[10]; -char arr[10] __attribute__((section("datadata"))); -char arr[10] __attribute__((aligned(16))); - -// CHECK: @arr ={{.*}}section "datadata", align 16 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits