Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Sep 2019 17:17:36 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r352524 - in vendor/clang/dist-release_90: include/clang/Basic lib/AST lib/Basic lib/CodeGen
Message-ID:  <201909191717.x8JHHaI4007563@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Thu Sep 19 17:17:36 2019
New Revision: 352524
URL: https://svnweb.freebsd.org/changeset/base/352524

Log:
  Vendor import of clang 9.0.0 release r372316:
  https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_900/final@372316

Modified:
  vendor/clang/dist-release_90/include/clang/Basic/Builtins.def
  vendor/clang/dist-release_90/lib/AST/Decl.cpp
  vendor/clang/dist-release_90/lib/Basic/Version.cpp
  vendor/clang/dist-release_90/lib/CodeGen/CodeGenModule.cpp

Modified: vendor/clang/dist-release_90/include/clang/Basic/Builtins.def
==============================================================================
--- vendor/clang/dist-release_90/include/clang/Basic/Builtins.def	Thu Sep 19 17:17:33 2019	(r352523)
+++ vendor/clang/dist-release_90/include/clang/Basic/Builtins.def	Thu Sep 19 17:17:36 2019	(r352524)
@@ -440,7 +440,7 @@ BUILTIN(__builtin_rotateleft64, "UWiUWiUWi", "nc")
 BUILTIN(__builtin_rotateright8, "UcUcUc", "nc")
 BUILTIN(__builtin_rotateright16, "UsUsUs", "nc")
 BUILTIN(__builtin_rotateright32, "UZiUZiUZi", "nc")
-BUILTIN(__builtin_rotateright64, "UWiUWiWi", "nc")
+BUILTIN(__builtin_rotateright64, "UWiUWiUWi", "nc")
 
 // Random GCC builtins
 BUILTIN(__builtin_constant_p, "i.", "nctu")

Modified: vendor/clang/dist-release_90/lib/AST/Decl.cpp
==============================================================================
--- vendor/clang/dist-release_90/lib/AST/Decl.cpp	Thu Sep 19 17:17:33 2019	(r352523)
+++ vendor/clang/dist-release_90/lib/AST/Decl.cpp	Thu Sep 19 17:17:36 2019	(r352524)
@@ -3332,7 +3332,8 @@ SourceRange FunctionDecl::getExceptionSpecSourceRange(
 /// an externally visible symbol, but "extern inline" will not create an
 /// externally visible symbol.
 bool FunctionDecl::isInlineDefinitionExternallyVisible() const {
-  assert((doesThisDeclarationHaveABody() || willHaveBody()) &&
+  assert((doesThisDeclarationHaveABody() || willHaveBody() ||
+          hasAttr<AliasAttr>()) &&
          "Must be a function definition");
   assert(isInlined() && "Function must be inline");
   ASTContext &Context = getASTContext();

Modified: vendor/clang/dist-release_90/lib/Basic/Version.cpp
==============================================================================
--- vendor/clang/dist-release_90/lib/Basic/Version.cpp	Thu Sep 19 17:17:33 2019	(r352523)
+++ vendor/clang/dist-release_90/lib/Basic/Version.cpp	Thu Sep 19 17:17:36 2019	(r352524)
@@ -35,7 +35,7 @@ std::string getClangRepositoryPath() {
 
   // If the CLANG_REPOSITORY is empty, try to use the SVN keyword. This helps us
   // pick up a tag in an SVN export, for example.
-  StringRef SVNRepository("$URL: https://llvm.org/svn/llvm-project/cfe/branches/release_90/lib/Basic/Version.cpp $");
+  StringRef SVNRepository("$URL: https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_900/final/lib/Basic/Version.cpp $");
   if (URL.empty()) {
     URL = SVNRepository.slice(SVNRepository.find(':'),
                               SVNRepository.find("/lib/Basic"));

Modified: vendor/clang/dist-release_90/lib/CodeGen/CodeGenModule.cpp
==============================================================================
--- vendor/clang/dist-release_90/lib/CodeGen/CodeGenModule.cpp	Thu Sep 19 17:17:33 2019	(r352523)
+++ vendor/clang/dist-release_90/lib/CodeGen/CodeGenModule.cpp	Thu Sep 19 17:17:36 2019	(r352524)
@@ -4355,17 +4355,22 @@ void CodeGenModule::EmitAliasDefinition(GlobalDecl GD)
   // Create a reference to the named value.  This ensures that it is emitted
   // if a deferred decl.
   llvm::Constant *Aliasee;
-  if (isa<llvm::FunctionType>(DeclTy))
+  llvm::GlobalValue::LinkageTypes LT;
+  if (isa<llvm::FunctionType>(DeclTy)) {
     Aliasee = GetOrCreateLLVMFunction(AA->getAliasee(), DeclTy, GD,
                                       /*ForVTable=*/false);
-  else
+    LT = getFunctionLinkage(GD);
+  } else {
     Aliasee = GetOrCreateLLVMGlobal(AA->getAliasee(),
                                     llvm::PointerType::getUnqual(DeclTy),
                                     /*D=*/nullptr);
+    LT = getLLVMLinkageVarDefinition(cast<VarDecl>(GD.getDecl()),
+                                     D->getType().isConstQualified());
+  }
 
   // Create the new alias itself, but don't set a name yet.
-  auto *GA = llvm::GlobalAlias::create(
-      DeclTy, 0, llvm::Function::ExternalLinkage, "", Aliasee, &getModule());
+  auto *GA =
+      llvm::GlobalAlias::create(DeclTy, 0, LT, "", Aliasee, &getModule());
 
   if (Entry) {
     if (GA->getAliasee() == Entry) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201909191717.x8JHHaI4007563>