mirror of
https://github.com/intel/llvm.git
synced 2026-01-24 00:20:25 +08:00
[ELF] Replace error() with errorOrWarn() for the ASSERT command
Summary: ld.bfd produces an output with --noinhibit-exec when an ASSERT fails. Use errorOrWarn() so that we can produce an output as well. An interesting case is that symbol assignments may execute multiple times, so we probably want to suppress errors for non-final runs. Reviewed By: peter.smith Differential Revision: https://reviews.llvm.org/D67285 llvm-svn: 371225
This commit is contained in:
@@ -720,7 +720,7 @@ Expr ScriptParser::readAssert() {
|
||||
|
||||
return [=] {
|
||||
if (!e().getValue())
|
||||
error(msg);
|
||||
errorOrWarn(msg);
|
||||
return script->getDot();
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
# RUN: llvm-readobj %t1 > /dev/null
|
||||
|
||||
# RUN: echo "SECTIONS { ASSERT(0, fail) }" > %t3.script
|
||||
# RUN: not ld.lld -shared -o /dev/null --script %t3.script %t1.o > %t.log 2>&1
|
||||
# RUN: FileCheck %s -check-prefix=FAIL < %t.log
|
||||
# RUN: not ld.lld -o /dev/null -T %t3.script %t1.o 2>&1 | FileCheck --check-prefix=FAIL %s
|
||||
# RUN: ld.lld -o /dev/null -T %t3.script %t1.o --noinhibit-exec 2>&1 | FileCheck --check-prefix=FAIL %s
|
||||
# FAIL: fail
|
||||
|
||||
# RUN: echo "SECTIONS { . = ASSERT(0x1000, fail); }" > %t4.script
|
||||
|
||||
Reference in New Issue
Block a user