[C++11] Add range based accessors for the Use-Def chain of a Value.
[oota-llvm.git] / include / llvm / IR / DiagnosticPrinter.h
index 721b1b4212e0692b0b2f621c9f9118b58b33fe27..411c781e01c5f7523f8b0259d22b98ef504d7d40 100644 (file)
@@ -20,6 +20,7 @@
 
 namespace llvm {
 // Forward declarations.
+class Module;
 class raw_ostream;
 class StringRef;
 class Twine;
@@ -49,6 +50,7 @@ public:
 
   // IR related types.
   virtual DiagnosticPrinter &operator<<(const Value &V) = 0;
+  virtual DiagnosticPrinter &operator<<(const Module &M) = 0;
 };
 
 /// \brief Basic diagnostic printer that uses an underlying raw_ostream.
@@ -60,24 +62,25 @@ public:
   DiagnosticPrinterRawOStream(raw_ostream &Stream) : Stream(Stream) {};
 
   // Simple types.
-  virtual DiagnosticPrinter &operator<<(char C);
-  virtual DiagnosticPrinter &operator<<(unsigned char C);
-  virtual DiagnosticPrinter &operator<<(signed char C);
-  virtual DiagnosticPrinter &operator<<(StringRef Str);
-  virtual DiagnosticPrinter &operator<<(const char *Str);
-  virtual DiagnosticPrinter &operator<<(const std::string &Str);
-  virtual DiagnosticPrinter &operator<<(unsigned long N);
-  virtual DiagnosticPrinter &operator<<(long N);
-  virtual DiagnosticPrinter &operator<<(unsigned long long N);
-  virtual DiagnosticPrinter &operator<<(long long N);
-  virtual DiagnosticPrinter &operator<<(const void *P);
-  virtual DiagnosticPrinter &operator<<(unsigned int N);
-  virtual DiagnosticPrinter &operator<<(int N);
-  virtual DiagnosticPrinter &operator<<(double N);
-  virtual DiagnosticPrinter &operator<<(const Twine &Str);
+  DiagnosticPrinter &operator<<(char C) override;
+  DiagnosticPrinter &operator<<(unsigned char C) override;
+  DiagnosticPrinter &operator<<(signed char C) override;
+  DiagnosticPrinter &operator<<(StringRef Str) override;
+  DiagnosticPrinter &operator<<(const char *Str) override;
+  DiagnosticPrinter &operator<<(const std::string &Str) override;
+  DiagnosticPrinter &operator<<(unsigned long N) override;
+  DiagnosticPrinter &operator<<(long N) override;
+  DiagnosticPrinter &operator<<(unsigned long long N) override;
+  DiagnosticPrinter &operator<<(long long N) override;
+  DiagnosticPrinter &operator<<(const void *P) override;
+  DiagnosticPrinter &operator<<(unsigned int N) override;
+  DiagnosticPrinter &operator<<(int N) override;
+  DiagnosticPrinter &operator<<(double N) override;
+  DiagnosticPrinter &operator<<(const Twine &Str) override;
 
   // IR related types.
-  virtual DiagnosticPrinter &operator<<(const Value &V);
+  DiagnosticPrinter &operator<<(const Value &V) override;
+  DiagnosticPrinter &operator<<(const Module &M) override;
 };
 } // End namespace llvm