forked from OSchip/llvm-project
MCNullStreamer: assign file IDs to resolve crashes and errors
Use the MCStreamer base implementations for file ID tracking instead of overriding them as no-ops. Avoids assertions when streaming Dwarf debug info, and fixes ASM parsing of loc and file directives. llvm-svn: 211282
This commit is contained in:
parent
37fcb5919d
commit
660839f210
|
@ -81,15 +81,7 @@ namespace {
|
||||||
unsigned char Value = 0) override { return false; }
|
unsigned char Value = 0) override { return false; }
|
||||||
|
|
||||||
void EmitFileDirective(StringRef Filename) override {}
|
void EmitFileDirective(StringRef Filename) override {}
|
||||||
unsigned EmitDwarfFileDirective(unsigned FileNo, StringRef Directory,
|
|
||||||
StringRef Filename,
|
|
||||||
unsigned CUID = 0) override {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
void EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
|
||||||
unsigned Column, unsigned Flags,
|
|
||||||
unsigned Isa, unsigned Discriminator,
|
|
||||||
StringRef FileName) override {}
|
|
||||||
void EmitInstruction(const MCInst &Inst, const MCSubtargetInfo&) override {}
|
void EmitInstruction(const MCInst &Inst, const MCSubtargetInfo&) override {}
|
||||||
|
|
||||||
void EmitBundleAlignMode(unsigned AlignPow2) override {}
|
void EmitBundleAlignMode(unsigned AlignPow2) override {}
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t
|
; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t
|
||||||
; RUN: llvm-dwarfdump %t | FileCheck %s
|
; RUN: llvm-dwarfdump %t | FileCheck %s
|
||||||
|
|
||||||
|
; Also test that the null streamer doesn't crash with debug info.
|
||||||
|
; RUN: %llc_dwarf -O0 -filetype=null < %s
|
||||||
|
|
||||||
; generated from the following source compiled to bitcode with clang -g -O1
|
; generated from the following source compiled to bitcode with clang -g -O1
|
||||||
; static int i;
|
; static int i;
|
||||||
; int main() {
|
; int main() {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
# RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
|
# RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
|
||||||
|
# RUN: llvm-mc -triple i386-unknown-unknown %s -filetype=null
|
||||||
|
|
||||||
.file "hello"
|
.file "hello"
|
||||||
.file 1 "worl\144" # "\144" is "d"
|
.file 1 "worl\144" # "\144" is "d"
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
# RUN: llvm-mc -triple i386-unknown-unknown %s
|
# RUN: llvm-mc -triple i386-unknown-unknown %s
|
||||||
|
# RUN: llvm-mc -triple i386-unknown-unknown %s -filetype=null
|
||||||
# FIXME: Actually test the output.
|
# FIXME: Actually test the output.
|
||||||
|
|
||||||
.line
|
.line
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
# RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
|
# RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
|
||||||
|
# RUN: llvm-mc -triple i386-unknown-unknown %s -filetype=null
|
||||||
|
|
||||||
.file 1 "hello"
|
.file 1 "hello"
|
||||||
# CHECK: .file 1 "hello"
|
# CHECK: .file 1 "hello"
|
||||||
|
|
Loading…
Reference in New Issue