Home | History | Annotate | Download | only in IR
      1 //===- 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/Module.h"
     17 #include "llvm/IR/Value.h"
     18 #include "llvm/Support/raw_ostream.h"
     19 
     20 using namespace llvm;
     21 
     22 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(char C) {
     23   Stream << C;
     24   return *this;
     25 }
     26 
     27 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(unsigned char C) {
     28   Stream << C;
     29   return *this;
     30 }
     31 
     32 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(signed char C) {
     33   Stream << C;
     34   return *this;
     35 }
     36 
     37 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(StringRef Str) {
     38   Stream << Str;
     39   return *this;
     40 }
     41 
     42 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(const char *Str) {
     43   Stream << Str;
     44   return *this;
     45 }
     46 
     47 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(
     48     const std::string &Str) {
     49   Stream << Str;
     50   return *this;
     51 }
     52 
     53 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(unsigned long N) {
     54   Stream << N;
     55   return *this;
     56 }
     57 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(long N) {
     58   Stream << N;
     59   return *this;
     60 }
     61 
     62 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(
     63     unsigned long long N) {
     64   Stream << N;
     65   return *this;
     66 }
     67 
     68 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(long long N) {
     69   Stream << N;
     70   return *this;
     71 }
     72 
     73 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(const void *P) {
     74   Stream << P;
     75   return *this;
     76 }
     77 
     78 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(unsigned int N) {
     79   Stream << N;
     80   return *this;
     81 }
     82 
     83 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(int N) {
     84   Stream << N;
     85   return *this;
     86 }
     87 
     88 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(double N) {
     89   Stream << N;
     90   return *this;
     91 }
     92 
     93 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(const Twine &Str) {
     94   Str.print(Stream);
     95   return *this;
     96 }
     97 
     98 // IR related types.
     99 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(const Value &V) {
    100   Stream << V.getName();
    101   return *this;
    102 }
    103 
    104 DiagnosticPrinter &DiagnosticPrinterRawOStream::operator<<(const Module &M) {
    105   Stream << M.getModuleIdentifier();
    106   return *this;
    107 }
    108