Suppress null-dereference warning temporarily

There's one more occurance of this warning.

In file included from hardware/google/av/codec2/tests/C2SampleComponent_test.cpp:23:
In file included from frameworks/av/media/codec2/core/include/C2Component.h:29:
In file included from frameworks/av/media/codec2/core/include/C2Enum.h:20:
frameworks/av/media/codec2/core/include/C2Param.h:1612:92: error: binding dereferenced null pointer to reference has undefined behavior [-Werror,-Wnull-dereference]
C2FieldDescriptor::NamedValuesType named = C2FieldDescriptor::namedValuesFor(*(T*)0);
^~~~~~

Also modernised the code to use nullptr instead of 0.

Bug: 122154294
Test: m checkbuild
Exempt-From-Owner-Approval: No functionality change, similar CL already reviewed by owner
Change-Id: Ieec3335d2f52f0c6f07be1e7c99e4f36c882dabf
gugelfrei
Yi Kong 6 years ago
parent ae461e07d0
commit 937dba18c3

@ -1605,11 +1605,13 @@ struct C2FieldSupportedValues {
/// \internal
/// \todo: create separate values vs. flags initializer as for flags we want
/// to list both allowed and required flags
template<typename T, typename E=decltype(C2FieldDescriptor::namedValuesFor(*(T*)0))>
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wnull-dereference"
template<typename T, typename E=decltype(C2FieldDescriptor::namedValuesFor(*(T*)nullptr))>
C2FieldSupportedValues(bool flags, const T*)
: type(flags ? FLAGS : VALUES),
range{(T)0, (T)0, (T)0, (T)0, (T)0} {
C2FieldDescriptor::NamedValuesType named = C2FieldDescriptor::namedValuesFor(*(T*)0);
C2FieldDescriptor::NamedValuesType named = C2FieldDescriptor::namedValuesFor(*(T*)nullptr);
if (flags) {
values.emplace_back(0); // min-mask defaults to 0
}
@ -1618,6 +1620,7 @@ struct C2FieldSupportedValues {
}
}
};
#pragma GCC diagnostic pop
/**
* Supported values for a specific field.

Loading…
Cancel
Save