aboutsummaryrefslogtreecommitdiff
path: root/src/google/protobuf/compiler/parser.cc
diff options
context:
space:
mode:
authorbrian-peloton <brian@peloton-tech.com>2017-05-23 16:22:57 -0700
committerFeng Xiao <xfxyjwf@gmail.com>2017-05-23 16:22:57 -0700
commit40da1ed572d60e9c7cc2fe1ca4175e30682f5a9d (patch)
tree78c05eefc2a870be1ed053fe77d7f349f4cf1413 /src/google/protobuf/compiler/parser.cc
parentba987a7e2d039107d304aa945fee662399461d58 (diff)
downloadprotobuf-40da1ed572d60e9c7cc2fe1ca4175e30682f5a9d.tar.gz
protobuf-40da1ed572d60e9c7cc2fe1ca4175e30682f5a9d.tar.bz2
protobuf-40da1ed572d60e9c7cc2fe1ca4175e30682f5a9d.zip
Removing undefined behavior and compiler warnings (#1315)
* Comment out unused arguments. These last few are all that's needed to compile with -Wunused-arguments. * Fix missing struct field initializer. With this fix, everything compiles with -Wmissing-field-initializers. * Add support for disabling unaligned memory accesses on x86 too. ubsan doesn't like these because they are technically undefined behavior, so -DGOOGLE_PROTOBUF_DONT_USE_UNALIGNED will disable them easily. * Avoid undefined integer overflow. ubsan catches all of these.
Diffstat (limited to 'src/google/protobuf/compiler/parser.cc')
-rw-r--r--src/google/protobuf/compiler/parser.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/google/protobuf/compiler/parser.cc b/src/google/protobuf/compiler/parser.cc
index 7a03d42b..1a409566 100644
--- a/src/google/protobuf/compiler/parser.cc
+++ b/src/google/protobuf/compiler/parser.cc
@@ -1373,7 +1373,7 @@ bool Parser::ParseOption(Message* options,
value_location.AddPath(
UninterpretedOption::kNegativeIntValueFieldNumber);
uninterpreted_option->set_negative_int_value(
- -static_cast<int64>(value));
+ static_cast<int64>(-value));
} else {
value_location.AddPath(
UninterpretedOption::kPositiveIntValueFieldNumber);