Remove bailout. It hides lots of warnings for real code to avoid FP in unused templates.

This commit is contained in:
Daniel Marjamäki 2019-06-16 19:01:45 +02:00
parent d909ac8565
commit 2a4be5ae1c
2 changed files with 2 additions and 8 deletions

View File

@ -145,13 +145,6 @@ void CheckClass::constructors()
if (!func.hasBody() || !(func.isConstructor() || func.type == Function::eOperatorEqual)) if (!func.hasBody() || !(func.isConstructor() || func.type == Function::eOperatorEqual))
continue; continue;
// Bail: If initializer list is not recognized as a variable or type then skip since parsing is incomplete
if (func.type == Function::eConstructor) {
const Token *initList = func.constructorMemberInitialization();
if (Token::Match(initList, ": %name% (") && initList->next()->tokType() == Token::eName)
break;
}
// Mark all variables not used // Mark all variables not used
clearAllVar(usage); clearAllVar(usage);

View File

@ -3885,7 +3885,8 @@ private:
"};\n" "};\n"
"template<class T1, class T2>\n" "template<class T1, class T2>\n"
"A<B<T1, T2>>::A() : m_value(false) {}\n"); "A<B<T1, T2>>::A() : m_value(false) {}\n");
ASSERT_EQUALS("", errout.str()); // TODO: Avoid FP somehow
TODO_ASSERT_EQUALS("", "[test.cpp:10]: (warning) Member variable 'A::m_value' is not initialized in the constructor.\n", errout.str());
} }
}; };