blob: d76f9f586a9e1af52988fa065afb981e8d424af0 [file] [log] [blame]
Quentin Colombetb4c44d22013-12-17 17:47:22 +00001//===- llvm/Support/DiagnosticInfo.cpp - Diagnostic Definitions -*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file defines the a diagnostic printer relying on raw_ostream.
11//
12//===----------------------------------------------------------------------===//
13
14#include "llvm/ADT/Twine.h"
15#include "llvm/IR/DiagnosticPrinter.h"
16#include "llvm/IR/Value.h"
17#include "llvm/Support/raw_ostream.h"
18
19using namespace llvm;
20
21DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(char C) {
22 Stream << C;
23 return *this;
24}
25
26DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(unsigned char C) {
27 Stream << C;
28 return *this;
29}
30
31DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(signed char C) {
32 Stream << C;
33 return *this;
34}
35
36DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(StringRef Str) {
37 Stream << Str;
38 return *this;
39}
40
41DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(const char *Str) {
42 Stream << Str;
43 return *this;
44}
45
46DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(
47 const std::string &Str) {
48 Stream << Str;
49 return *this;
50}
51
52DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(unsigned long N) {
53 Stream << N;
54 return *this;
55}
56DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(long N) {
57 Stream << N;
58 return *this;
59}
60
61DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(
62 unsigned long long N) {
63 Stream << N;
64 return *this;
65}
66
67DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(long long N) {
68 Stream << N;
69 return *this;
70}
71
72DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(const void *P) {
73 Stream << P;
74 return *this;
75}
76
77DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(unsigned int N) {
78 Stream << N;
79 return *this;
80}
81
82DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(int N) {
83 Stream << N;
84 return *this;
85}
86
87DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(double N) {
88 Stream << N;
89 return *this;
90}
91
92DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(const Twine &Str) {
Quentin Colombet98e79a02013-12-17 22:35:07 +000093 Str.print(Stream);
Quentin Colombetb4c44d22013-12-17 17:47:22 +000094 return *this;
95}
96
97// IR related types.
98DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(const Value &V) {
99 Stream << V.getName();
100 return *this;
101}