Added some periods to some comments and added an overload for operator<< for type...
authorMichael Gottesman <mgottesman@apple.com>
Tue, 29 Jan 2013 21:07:51 +0000 (21:07 +0000)
committerMichael Gottesman <mgottesman@apple.com>
Tue, 29 Jan 2013 21:07:51 +0000 (21:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173831 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/ObjCARC/ObjCARCOpts.cpp

index 727b4f7c96cc27209ffd9c2b4edd7b4c2bf3b52a..068da13fc044115d2f9e5724b8981b8d98e87926 100644 (file)
@@ -312,13 +312,35 @@ namespace {
   /// objc_retain and objc_release are actually needed.
   enum Sequence {
     S_None,
-    S_Retain,         ///< objc_retain(x)
-    S_CanRelease,     ///< foo(x) -- x could possibly see a ref count decrement
-    S_Use,            ///< any use of x
-    S_Stop,           ///< like S_Release, but code motion is stopped
-    S_Release,        ///< objc_release(x)
-    S_MovableRelease  ///< objc_release(x), !clang.imprecise_release
+    S_Retain,         ///< objc_retain(x).
+    S_CanRelease,     ///< foo(x) -- x could possibly see a ref count decrement.
+    S_Use,            ///< any use of x.
+    S_Release,        ///< objc_release(x).
+    S_MovableRelease, ///< objc_release(x), !clang.imprecise_release.
+    S_Stop            ///< like S_Release, but code motion is stopped.
   };
+
+  raw_ostream &operator<<(raw_ostream &OS, const Sequence S)
+    LLVM_ATTRIBUTE_UNUSED;
+  raw_ostream &operator<<(raw_ostream &OS, const Sequence S) {
+    switch (S) {
+    case S_None:
+      return OS << "S_None";
+    case S_Retain:
+      return OS << "S_Retain";
+    case S_CanRelease:
+      return OS << "S_CanRelease";
+    case S_Use:
+      return OS << "S_Use";
+    case S_Release:
+      return OS << "S_Release";
+    case S_MovableRelease:
+      return OS << "S_MovableRelease";
+    case S_Stop:
+      return OS << "S_Stop";
+    }
+    llvm_unreachable("Unknown sequence type.");
+  }
 }
 
 static Sequence MergeSeqs(Sequence A, Sequence B, bool TopDown) {