@@ -0,0 +1,43 @@
+--- boost/archive/iterators/base64_from_binary.hpp
++++ boost/archive/iterators/base64_from_binary.hpp
+@@ -43,7 +43,7 @@
+ "0123456789"
+ "+/";
+ assert(t < 64);
+- return lookup_table[t];
++ return lookup_table[int(t)];
+ }
+ };
+
+--- boost/token_functions.hpp
++++ boost/token_functions.hpp
+@@ -335,11 +335,12 @@
+ if (next == end)
+ return false;
+
+- if (current_offset_ == offsets_.size())
++ if (current_offset_ == offsets_.size()) {
+ if (wrap_offsets_)
+ current_offset_=0;
+ else
+ return false;
++ }
+
+ int c = offsets_[current_offset_];
+ int i = 0;
+@@ -448,13 +449,14 @@
+ else { // m_empty_tokens == keep_empty_tokens
+
+ // Handle empty token at the end
+- if (next == end)
++ if (next == end) {
+ if (m_output_done == false) {
+ m_output_done = true;
+ assigner::assign(start,next,tok);
+ return true;
+ } else
+ return false;
++ }
+
+ if (is_kept(*next)) {
+ if (m_output_done == false)
|