Split SMLoc out in its own header so that it can
authorSean Callanan <scallanan@apple.com>
Mon, 18 Jan 2010 22:07:51 +0000 (22:07 +0000)
committerSean Callanan <scallanan@apple.com>
Mon, 18 Jan 2010 22:07:51 +0000 (22:07 +0000)
be used independently of SourceMgr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93780 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/SMLoc.h [new file with mode: 0644]
include/llvm/Support/SourceMgr.h

diff --git a/include/llvm/Support/SMLoc.h b/include/llvm/Support/SMLoc.h
new file mode 100644 (file)
index 0000000..fb86ee7
--- /dev/null
@@ -0,0 +1,43 @@
+//===- SMLoc.h - Manager for Source Buffers & Diagnostics -------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file declares the SMLoc class.  This class encapsulates a location in
+// source code for use in diagnostics.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef SUPPORT_SMLOC_H
+#define SUPPORT_SMLOC_H
+
+namespace llvm {
+
+// SMLoc - Represents a location in source code.
+class SMLoc {    
+  const char *Ptr;
+public:
+  SMLoc() : Ptr(0) {}
+  SMLoc(const SMLoc &RHS) : Ptr(RHS.Ptr) {}
+    
+  bool isValid() const { return Ptr != 0; }
+    
+  bool operator==(const SMLoc &RHS) const { return RHS.Ptr == Ptr; }
+  bool operator!=(const SMLoc &RHS) const { return RHS.Ptr != Ptr; }
+    
+  const char *getPointer() const { return Ptr; }
+    
+  static SMLoc getFromPointer(const char *Ptr) {
+    SMLoc L;
+    L.Ptr = Ptr;
+    return L;
+  }
+};
+
+}
+
+#endif
\ No newline at end of file
index b695ff10fdfdb1c548e52629206f3e924e9a37af..5433a00845278fb4b640dc11e300ec12866a8f53 100644 (file)
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 //
-// This file declares the SMLoc, SMDiagnostic and SourceMgr classes.  This
+// This file declares the SMDiagnostic and SourceMgr classes.  This
 // provides a simple substrate for diagnostics, #include handling, and other low
 // level things for simple parsers.
 //
@@ -16,6 +16,8 @@
 #ifndef SUPPORT_SOURCEMGR_H
 #define SUPPORT_SOURCEMGR_H
 
+#include "llvm/Support/SMLoc.h"
+
 #include <string>
 #include <vector>
 #include <cassert>
@@ -25,26 +27,6 @@ namespace llvm {
   class SourceMgr;
   class SMDiagnostic;
   class raw_ostream;
-  
-class SMLoc {
-  const char *Ptr;
-public:
-  SMLoc() : Ptr(0) {}
-  SMLoc(const SMLoc &RHS) : Ptr(RHS.Ptr) {}
-  
-  bool isValid() const { return Ptr != 0; }
-
-  bool operator==(const SMLoc &RHS) const { return RHS.Ptr == Ptr; }
-  bool operator!=(const SMLoc &RHS) const { return RHS.Ptr != Ptr; }
-
-  const char *getPointer() const { return Ptr; }
-  
-  static SMLoc getFromPointer(const char *Ptr) {
-    SMLoc L;
-    L.Ptr = Ptr;
-    return L;
-  }
-};
 
 /// SourceMgr - This owns the files read by a parser, handles include stacks,
 /// and handles diagnostic wrangling.