EDS: fix false clang warning
Control flow analysis from clang's own C++ compiler and clang's scan-tool come to different results: the compiler fails to detect that the variable will be initialized in all cases and thus requires a redundant initialization to avoid an "uninitialized memory read" error with -Wall, while scan-tool complains about the redundant write. To satisfy both, avoid the initialization when doing static code analysis.
This commit is contained in:
parent
1d6f88cbbe
commit
b1668bce81
|
@ -564,9 +564,17 @@ void EvolutionContactSource::invalidateCachedContact(boost::shared_ptr<ContactCa
|
||||||
bool EvolutionContactSource::getContact(const string &luid, EContact **contact, GErrorCXX &gerror)
|
bool EvolutionContactSource::getContact(const string &luid, EContact **contact, GErrorCXX &gerror)
|
||||||
{
|
{
|
||||||
SE_LOG_DEBUG(getDisplayName(), "reading: getting contact %s", luid.c_str());
|
SE_LOG_DEBUG(getDisplayName(), "reading: getting contact %s", luid.c_str());
|
||||||
ReadAheadOrder order = m_readAheadOrder;
|
|
||||||
|
|
||||||
// Use switch and let compiler tell us when we don't cover a case.
|
// Use switch and let compiler tell us when we don't cover a case.
|
||||||
|
ReadAheadOrder order
|
||||||
|
#ifndef __clang_analyzer__
|
||||||
|
// scan-build would complain: value stored to 'order' during
|
||||||
|
// its initialization is never read. But we need to keep it
|
||||||
|
// otherwise, to avoid: 'order' may be used uninitialized in
|
||||||
|
// this function [-Werror=maybe-uninitialized]
|
||||||
|
= m_readAheadOrder
|
||||||
|
#endif
|
||||||
|
;
|
||||||
switch (m_accessMode) {
|
switch (m_accessMode) {
|
||||||
case SYNCHRONOUS:
|
case SYNCHRONOUS:
|
||||||
case DEFAULT:
|
case DEFAULT:
|
||||||
|
|
Loading…
Reference in a new issue