summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-11-21 06:19:44 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-11-26 18:47:15 +0200
commita1225b838f1f4cf4544455abf72dddcbd6372490 (patch)
treec2c884cfa6f206ab5cd476caa8906555a209bb22
parenta2a0e46576fb142147abfb94718831842fc39118 (diff)
cam: options: Fix unitialized variable warning
gcc 8 and 9 complain about the OptionValue::integer_ member being possibly used initialized when compiled in release mode. I haven't been able to find where this could be the case, and the compiler error message isn't helpful: In file included from ../../src/cam/options.cpp:14: ../../src/cam/options.h: In member function ‘bool OptionsBase<T>::parseValue(const T&, const Option&, const char*) [with T = std::__cxx11::basic_string<char>]’: ../../src/cam/options.h:84:7: error: ‘<anonymous>.OptionValue::integer_’ may be used uninitialized in this function [-Werror=maybe-uninitialized] class OptionValue ^~~~~~~~~~~ ../../src/cam/options.h: In member function ‘bool OptionsBase<T>::parseValue(const T&, const Option&, const char*) [with T = int]’: ../../src/cam/options.h:84:7: error: ‘<anonymous>.OptionValue::integer_’ may be used uninitialized in this function [-Werror=maybe-uninitialized] class OptionValue ^~~~~~~~~~~ Furthermore valgrind doesn't report any issue. This is likely a false positive, but fix it nonetheless as the fix is cheap. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--src/cam/options.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cam/options.cpp b/src/cam/options.cpp
index 7e2dfa63..2c56eacf 100644
--- a/src/cam/options.cpp
+++ b/src/cam/options.cpp
@@ -250,7 +250,7 @@ void KeyValueParser::usage(int indent)
*/
OptionValue::OptionValue()
- : type_(ValueNone)
+ : type_(ValueNone), integer_(0)
{
}
@@ -260,17 +260,17 @@ OptionValue::OptionValue(int value)
}
OptionValue::OptionValue(const char *value)
- : type_(ValueString), string_(value)
+ : type_(ValueString), integer_(0), string_(value)
{
}
OptionValue::OptionValue(const std::string &value)
- : type_(ValueString), string_(value)
+ : type_(ValueString), integer_(0), string_(value)
{
}
OptionValue::OptionValue(const KeyValueParser::Options &value)
- : type_(ValueKeyValue), keyValues_(value)
+ : type_(ValueKeyValue), integer_(0), keyValues_(value)
{
}