]> granicus.if.org Git - clang/commitdiff
Simplify code. No functionality change.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 13 Mar 2014 15:47:50 +0000 (15:47 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 13 Mar 2014 15:47:50 +0000 (15:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203804 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CodeGenModule.cpp

index 4f040e2780988b2cb8014722fd035d4c2d521d0b..f4b47ec579d869fa8b3f4f3320f4953e0bebd2f7 100644 (file)
@@ -217,13 +217,13 @@ void CodeGenModule::checkAliases() {
     StringRef MangledName = getMangledName(GD);
     llvm::GlobalValue *Entry = GetGlobalValue(MangledName);
     llvm::GlobalAlias *Alias = cast<llvm::GlobalAlias>(Entry);
-    llvm::GlobalValue *GV = Alias->getAliasedGlobal();
-    if (GV->isDeclaration()) {
-      Error = true;
-      getDiags().Report(AA->getLocation(), diag::err_alias_to_undefined);
-    } else if (!Alias->resolveAliasedGlobal(/*stopOnWeak*/ false)) {
+    llvm::GlobalValue *GV = Alias->resolveAliasedGlobal(/*stopOnWeak*/ false);
+    if (!GV) {
       Error = true;
       getDiags().Report(AA->getLocation(), diag::err_cyclic_alias);
+    } else if (GV->isDeclaration()) {
+      Error = true;
+      getDiags().Report(AA->getLocation(), diag::err_alias_to_undefined);
     }
   }
   if (!Error)