From 046cfb856517c6140d5e1c0989232e26d00b05b2 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Thu, 28 Jan 2021 22:21:12 -0800 Subject: [PATCH] [llvm] Forward-declare formatted_raw_ostream (NFC) Various *TargetStreamer.h need formatted_raw_ostream but rely on a forward declaration of formatted_raw_ostream in MCStreamer.h. This patch adds forward declarations right in *TargetStreamer.h. While we are at it, this patch removes the one in MCStreamer.h, where it is unnecessary. --- llvm/include/llvm/MC/MCStreamer.h | 1 - llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h | 1 + llvm/lib/Target/Mips/MipsTargetStreamer.h | 2 ++ llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h | 2 ++ llvm/lib/Target/Sparc/MCTargetDesc/SparcTargetStreamer.h | 3 +++ llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h | 1 + 6 files changed, 9 insertions(+), 1 deletion(-) diff --git a/llvm/include/llvm/MC/MCStreamer.h b/llvm/include/llvm/MC/MCStreamer.h index cdc728f..94fb2c8 100644 --- a/llvm/include/llvm/MC/MCStreamer.h +++ b/llvm/include/llvm/MC/MCStreamer.h @@ -39,7 +39,6 @@ namespace llvm { class AssemblerConstantPools; -class formatted_raw_ostream; class MCAsmBackend; class MCCodeEmitter; class MCContext; diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h index 1ad6453..4dbb37d 100644 --- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h +++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h @@ -23,6 +23,7 @@ class MCSymbol; class MDNode; class Module; class Type; +class formatted_raw_ostream; namespace AMDGPU { namespace HSAMD { diff --git a/llvm/lib/Target/Mips/MipsTargetStreamer.h b/llvm/lib/Target/Mips/MipsTargetStreamer.h index f4282f5..44615b9 100644 --- a/llvm/lib/Target/Mips/MipsTargetStreamer.h +++ b/llvm/lib/Target/Mips/MipsTargetStreamer.h @@ -19,6 +19,8 @@ namespace llvm { +class formatted_raw_ostream; + class MipsTargetStreamer : public MCTargetStreamer { public: MipsTargetStreamer(MCStreamer &S); diff --git a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h index 32fa20f..0bda3de 100644 --- a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h +++ b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h @@ -14,6 +14,8 @@ namespace llvm { +class formatted_raw_ostream; + class RISCVTargetStreamer : public MCTargetStreamer { public: RISCVTargetStreamer(MCStreamer &S); diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcTargetStreamer.h b/llvm/lib/Target/Sparc/MCTargetDesc/SparcTargetStreamer.h index 9f729a6..27976d1 100644 --- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcTargetStreamer.h +++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcTargetStreamer.h @@ -13,6 +13,9 @@ #include "llvm/MC/MCStreamer.h" namespace llvm { + +class formatted_raw_ostream; + class SparcTargetStreamer : public MCTargetStreamer { virtual void anchor(); diff --git a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h index 75c9fb4..80a8c81 100644 --- a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h +++ b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h @@ -22,6 +22,7 @@ namespace llvm { class MCSymbolWasm; +class formatted_raw_ostream; /// WebAssembly-specific streamer interface, to implement support /// WebAssembly-specific assembly directives. -- 2.7.4