Cast to unsigned char in Value::setType() to appease gcc (issue #888)
diff --git a/include/json/value.h b/include/json/value.h
index 69a0ed2..2e94b37 100644
--- a/include/json/value.h
+++ b/include/json/value.h
@@ -610,7 +610,7 @@
   ptrdiff_t getOffsetLimit() const;
 
 private:
-  void setType(ValueType v) { bits_.value_type_ = v; }
+  void setType(ValueType v) { bits_.value_type_ = static_cast<unsigned char> (v); }
   bool isAllocated() const { return bits_.allocated_; }
   void setIsAllocated(bool v) { bits_.allocated_ = v; }