diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index b7ab796272e71..7f7ea18e72b88 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -534,8 +534,8 @@ void AsmPrinter::emitGlobalVariable(const GlobalVariable *GV) { GVSym->redefineIfPossible(); if (GVSym->isDefined() || GVSym->isVariable()) - report_fatal_error("symbol '" + Twine(GVSym->getName()) + - "' is already defined"); + OutContext.reportError(SMLoc(), "symbol '" + Twine(GVSym->getName()) + + "' is already defined"); if (MAI->hasDotTypeDotSizeDirective()) OutStreamer->emitSymbolAttribute(EmittedSym, MCSA_ELF_TypeObject); diff --git a/llvm/test/CodeGen/X86/equiv_with_vardef.ll b/llvm/test/CodeGen/X86/equiv_with_vardef.ll index e5ea3673b6d7b..11adcb8610a5f 100644 --- a/llvm/test/CodeGen/X86/equiv_with_vardef.ll +++ b/llvm/test/CodeGen/X86/equiv_with_vardef.ll @@ -1,8 +1,9 @@ -; RUN: not --crash llc < %s 2>&1 | FileCheck %s +; RUN: not llc -filetype=null %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" module asm ".equiv var, __var" @var = global i32 0 -; CHECK: symbol 'var' is already defined +; CHECK: :0: error: symbol 'var' is already defined +; CHECK: :0: error: invalid symbol redefinition