From 1ae1dd16cf2de7f85e2eb68f975d63fbd9c20098 Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Sat, 15 Jan 2022 00:01:36 -0800 Subject: [PATCH] [MC][PowerPC] Replace MCContext::reportFatalError calls with reportError User errors should use reportError. reportError allows us to continue parsing the file and collect more diagnostics. While here, make the diagnostic follow convention, merge tests, and test line/column numbers. --- .../Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp | 10 +++++----- llvm/test/MC/PowerPC/ppc64-localentry-error1.s | 6 +++++- llvm/test/MC/PowerPC/ppc64-localentry-error2.s | 12 ------------ 3 files changed, 10 insertions(+), 18 deletions(-) delete mode 100644 llvm/test/MC/PowerPC/ppc64-localentry-error2.s diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp index d6e02d0d0862..a651362f703b 100644 --- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp +++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp @@ -271,14 +271,14 @@ private: MCAssembler &MCA = getStreamer().getAssembler(); int64_t Offset; if (!LocalOffset->evaluateAsAbsolute(Offset, MCA)) - MCA.getContext().reportFatalError( - LocalOffset->getLoc(), ".localentry expression must be absolute."); + MCA.getContext().reportError(LocalOffset->getLoc(), + ".localentry expression must be absolute"); switch (Offset) { default: - MCA.getContext().reportFatalError( - LocalOffset->getLoc(), - ".localentry expression is not a valid power of 2."); + MCA.getContext().reportError( + LocalOffset->getLoc(), ".localentry expression must be a power of 2"); + return 0; case 0: return 0; case 1: diff --git a/llvm/test/MC/PowerPC/ppc64-localentry-error1.s b/llvm/test/MC/PowerPC/ppc64-localentry-error1.s index 3c54606bd15a..9568af3fec16 100644 --- a/llvm/test/MC/PowerPC/ppc64-localentry-error1.s +++ b/llvm/test/MC/PowerPC/ppc64-localentry-error1.s @@ -4,8 +4,12 @@ # RUN: not llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj < %s 2> %t # RUN: FileCheck < %t %s + .globl remote_sym sym: + +# CHECK: :0: error: .localentry expression must be a power of 2 .localentry sym, 123 -# CHECK: error: .localentry expression is not a valid power of 2. +# CHECK: :[[#@LINE+1]]:19: error: .localentry expression must be absolute + .localentry sym, remote_sym diff --git a/llvm/test/MC/PowerPC/ppc64-localentry-error2.s b/llvm/test/MC/PowerPC/ppc64-localentry-error2.s deleted file mode 100644 index 8603dfb37c63..000000000000 --- a/llvm/test/MC/PowerPC/ppc64-localentry-error2.s +++ /dev/null @@ -1,12 +0,0 @@ - -# RUN: not llvm-mc -triple powerpc64-unknown-unknown -filetype=obj < %s 2> %t -# RUN: FileCheck < %t %s -# RUN: not llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj < %s 2> %t -# RUN: FileCheck < %t %s - - .globl remote_sym -sym: - .localentry sym, remote_sym - -# CHECK: error: .localentry expression must be absolute. -