diff options
-rw-r--r-- | src/google/protobuf/compiler/parser.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/google/protobuf/compiler/parser.cc b/src/google/protobuf/compiler/parser.cc index 758f70dc..9fcb1314 100644 --- a/src/google/protobuf/compiler/parser.cc +++ b/src/google/protobuf/compiler/parser.cc @@ -720,7 +720,8 @@ bool Parser::ParseOptionAssignment(Message* options) { is_negative ? static_cast<uint64>(kint64max) + 1 : kuint64max; DO(ConsumeInteger64(max_value, &value, "Expected integer.")); if (is_negative) { - uninterpreted_option->set_negative_int_value(-value); + uninterpreted_option->set_negative_int_value( + -static_cast<int64>(value)); } else { uninterpreted_option->set_positive_int_value(value); } |