mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
09776aab5d
Fix: Add a `consumeError` call removed by mistake to 'printStackSize', this should fix the "Expected<T> must be checked before access or destruction." reported by following bot: http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/9743/steps/stage%201%20check/logs/stdio Original commit message: Currently we have the following functions for error reporting: LLVM_ATTRIBUTE_NORETURN void reportError(Twine Msg); void reportError(Error Err, StringRef Input); void reportWarning(Twine Msg); void reportWarning(StringRef Input, Error Err); void warn(llvm::Error Err); void error(std::error_code EC); Problems are: naming is inconsistent, arguments order is inconsistent, some of the functions looks excessive. After applying this patch we have: void reportError(Error Err, StringRef Input); void reportError(std::error_code EC, StringRef Input); void reportWarning(Error Err, StringRef Input); I'd be happy to remove reportError(std::error_code EC, StringRef Input) too, but it is used by COFF heavily. Test cases were updated, they show an improvement introduced. Differential revision: https://reviews.llvm.org/D66286 llvm-svn: 369194
76 lines
3.0 KiB
Plaintext
76 lines
3.0 KiB
Plaintext
# Check the dumping of a section as strings.
|
|
# RUN: yaml2obj %s > %t
|
|
|
|
# RUN: llvm-readobj --string-dump=.strings \
|
|
# RUN: --string-dump=.not_null_terminated %t > %t.readobj.out
|
|
# RUN: FileCheck %s --input-file=%t.readobj.out
|
|
|
|
# Also test the different ways --string-dump can be specified, i.e. as a short
|
|
# flag (-p), with different prefix modes (-p .foo, -p=.foo, -p.foo), and with
|
|
# the value being a index section number instead of a section name.
|
|
# RUN: llvm-readobj -p=.strings -p=.not_null_terminated %t > %t.readobj.1
|
|
# RUN: llvm-readobj -p.strings -p.strings -p.not_null_terminated %t > %t.readobj.2
|
|
# RUN: llvm-readobj --string-dump=1 --string-dump=2 %t > %t.readobj.3
|
|
# RUN: llvm-readobj -p1 -p1 -p2 %t > %t.readobj.4
|
|
# RUN: llvm-readobj -p=1 -p=2 %t > %t.readobj.5
|
|
|
|
# RUN: cmp %t.readobj.out %t.readobj.1
|
|
# RUN: cmp %t.readobj.out %t.readobj.2
|
|
# RUN: cmp %t.readobj.out %t.readobj.3
|
|
# RUN: cmp %t.readobj.out %t.readobj.4
|
|
# RUN: cmp %t.readobj.out %t.readobj.5
|
|
|
|
# Run readelf flag tests with an additional flag, --file-header, so we can test
|
|
# -p grouped with something.
|
|
# RUN: llvm-readelf --file-header --string-dump=.strings \
|
|
# RUN: --string-dump=.not_null_terminated %t > %t.readelf.out
|
|
# RUN: FileCheck %s --input-file=%t.readelf.out
|
|
|
|
# RUN: llvm-readelf -h -p=.strings -p=.not_null_terminated %t > %t.readelf.1
|
|
# RUN: llvm-readelf -p.strings -hp.not_null_terminated %t > %t.readelf.2
|
|
# RUN: llvm-readelf -h --string-dump=1 --string-dump=2 %t > %t.readelf.3
|
|
# RUN: llvm-readelf -hp1 -p2 %t > %t.readelf.4
|
|
# RUN: llvm-readelf -hp 1 -p.not_null_terminated %t > %t.readelf.5
|
|
# RUN: llvm-readelf -p=1 -hp=2 %t > %t.readelf.6
|
|
|
|
# RUN: cmp %t.readelf.out %t.readelf.1
|
|
# RUN: cmp %t.readelf.out %t.readelf.2
|
|
# RUN: cmp %t.readelf.out %t.readelf.3
|
|
# RUN: cmp %t.readelf.out %t.readelf.4
|
|
# RUN: cmp %t.readelf.out %t.readelf.5
|
|
# RUN: cmp %t.readelf.out %t.readelf.6
|
|
|
|
# CHECK: String dump of section '.strings':
|
|
# CHECK-NEXT: [ 0] here
|
|
# CHECK-NEXT: [ 5] are
|
|
# CHECK-NEXT: [ 9] some
|
|
# CHECK-NEXT: [ e] strings
|
|
# CHECK-EMPTY:
|
|
# CHECK-NEXT: String dump of section '.not_null_terminated':
|
|
# CHECK-NEXT: [ 0] no
|
|
# CHECK-NEXT: [ 3] null{{$}}
|
|
# CHECK-NOT: {{.}}
|
|
|
|
# RUN: llvm-readobj --string-dump=does_not_exist %t 2>&1 | FileCheck -DFILE=%t %s --check-prefix=WARN1
|
|
# RUN: llvm-readobj --string-dump=42 %t 2>&1 | FileCheck %s -DFILE=%t --check-prefix=WARN2
|
|
|
|
# RUN: llvm-readelf --string-dump=does_not_exist %t 2>&1 | FileCheck -DFILE=%t %s --check-prefix=WARN1
|
|
# RUN: llvm-readelf --string-dump=42 %t 2>&1 | FileCheck %s -DFILE=%t --check-prefix=WARN2
|
|
|
|
# WARN1: warning: '[[FILE]]': could not find section 'does_not_exist'
|
|
# WARN2: warning: '[[FILE]]': could not find section 42
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .strings
|
|
Type: SHT_PROGBITS
|
|
Content: 686572650061726500736f6d6500737472696e677300
|
|
- Name: .not_null_terminated
|
|
Type: SHT_PROGBITS
|
|
Content: 6e6f006e756c6c
|