[flang] More expression analysis of literal constants.

Original-commit: flang-compiler/f18@3c89dace19fe5585d738fe36fa75fea98e541837
Reviewed-on: https://github.com/flang-compiler/f18/pull/165
Tree-same-pre-rewrite: false
diff --git a/flang/lib/parser/unparse.cc b/flang/lib/parser/unparse.cc
index f9a2019..fa239fd 100644
--- a/flang/lib/parser/unparse.cc
+++ b/flang/lib/parser/unparse.cc
@@ -356,16 +356,7 @@
     Outdent(), Word("END ENUM");
   }
   void Unparse(const BOZLiteralConstant &x) {  // R764 - R767
-    Put("Z'");
-    bool any{false};
-    for (int j{60}; j >= 0; j -= 4) {
-      int d = (x.v >> j) & 0xf;
-      if (d != 0 || any || j == 0) {
-        Put(d > 9 ? 'a' + d - 10 : '0' + d);
-        any = true;
-      }
-    }
-    Put('\'');
+    Put(x.v);
   }
   void Unparse(const AcValue::Triplet &x) {  // R773
     Walk(std::get<0>(x.t)), Put(':'), Walk(std::get<1>(x.t));