[demangler] Buffer peeking needs buffer

The output buffer has a 'back' member, which returns NUL when you try
it with an empty buffer.  But there are no use cases that need that
additional functionality.  This makes the 'back' member behave more
like STL containers' back members.  (It still returns a value, not a
reference.)

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D123201

GitOrigin-RevId: e48cd7088b736dae5cd572ebb58963c70a4a72b8
diff --git a/src/demangle/Utility.h b/src/demangle/Utility.h
index 6e0fa38..db19dca 100644
--- a/src/demangle/Utility.h
+++ b/src/demangle/Utility.h
@@ -171,7 +171,8 @@
   void setCurrentPosition(size_t NewPos) { CurrentPosition = NewPos; }
 
   char back() const {
-    return CurrentPosition ? Buffer[CurrentPosition - 1] : '\0';
+    assert(CurrentPosition);
+    return Buffer[CurrentPosition - 1];
   }
 
   bool empty() const { return CurrentPosition == 0; }