Sweep out some extra warnings

Swept:
`-Wpadded` in some places (where it caused extra size, instead of just
saying "hey, we padded struct at the end to align, just as standard says")
`-Wweak-vtables` everywhere (Clang)
`-Wexit-time-destructors` everywhere (Clang)
`-Wmissing-noreturn` everywhere (Clang)

The last three are enabled for Clang compilation going forward.

Also enabled `-Wunreachable-code` for Clang and GCC
This commit is contained in:
Martin Hořeňovský 2017-09-07 16:51:33 +02:00
parent 6105282c4f
commit 9aa96712ae
61 changed files with 319 additions and 182 deletions

View file

@ -24,7 +24,7 @@ namespace Catch {
class TestSpec {
struct Pattern {
virtual ~Pattern() = default;
virtual ~Pattern();
virtual bool matches( TestCaseInfo const& testCase ) const = 0;
};
using PatternPtr = std::shared_ptr<Pattern>;
@ -32,7 +32,7 @@ namespace Catch {
class NamePattern : public Pattern {
public:
NamePattern( std::string const& name );
virtual ~NamePattern() = default;
virtual ~NamePattern();
virtual bool matches( TestCaseInfo const& testCase ) const override;
private:
WildcardPattern m_wildcardPattern;
@ -41,7 +41,7 @@ namespace Catch {
class TagPattern : public Pattern {
public:
TagPattern( std::string const& tag );
virtual ~TagPattern() = default;
virtual ~TagPattern();
virtual bool matches( TestCaseInfo const& testCase ) const override;
private:
std::string m_tag;
@ -50,7 +50,7 @@ namespace Catch {
class ExcludedPattern : public Pattern {
public:
ExcludedPattern( PatternPtr const& underlyingPattern );
virtual ~ExcludedPattern() = default;
virtual ~ExcludedPattern();
virtual bool matches( TestCaseInfo const& testCase ) const override;
private:
PatternPtr m_underlyingPattern;