diff --git a/snappy-test.cc b/snappy-test.cc index 4619410..7f1d0a8 100644 --- a/snappy-test.cc +++ b/snappy-test.cc @@ -28,13 +28,16 @@ // // Various stubs for the unit tests for the open-source version of Snappy. -#include "snappy-test.h" +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #ifdef HAVE_WINDOWS_H -#define WIN32_LEAN_AND_MEAN #include #endif +#include "snappy-test.h" + #include DEFINE_bool(run_microbenchmarks, true, diff --git a/snappy-test.h b/snappy-test.h index 732c51d..dbc55b9 100644 --- a/snappy-test.h +++ b/snappy-test.h @@ -52,7 +52,6 @@ #endif #ifdef HAVE_WINDOWS_H -#define WIN32_LEAN_AND_MEAN #include #endif @@ -548,6 +547,13 @@ class LogMessage { PREDICT_TRUE(condition) ? (void)0 : \ snappy::LogMessageVoidify() & snappy::LogMessageCrash() +#ifdef _MSC_VER +// ~LogMessageCrash calls abort() and therefore never exits. This is by design +// so temporarily disable warning C4722. +#pragma warning(push) +#pragma warning(disable:4722) +#endif + class LogMessageCrash : public LogMessage { public: LogMessageCrash() { } @@ -557,6 +563,10 @@ class LogMessageCrash : public LogMessage { } }; +#ifdef _MSC_VER +#pragma warning(pop) +#endif + // This class is used to explicitly ignore values in the conditional // logging macros. This avoids compiler warnings like "value computed // is not used" and "statement has no effect".