aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/google/protobuf/compiler/parser.cc3
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);
}