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>
This commit is contained in:
+4
-4
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user