diff options
author | liujisi@google.com <liujisi@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2010-12-06 06:20:14 +0000 |
---|---|---|
committer | liujisi@google.com <liujisi@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2010-12-06 06:20:14 +0000 |
commit | 5d8d2b054224bc5fdc73b886f8e765c360f86734 (patch) | |
tree | 650fa406aa2dbacbfb4ff5b640411cb5643d0218 /src/google/protobuf/stubs/common.cc | |
parent | 2726e7a6ebd72eec6f66abe4ced3c88983f20b8e (diff) |
Fix issues: 200 202 211 215 237 246.
Diffstat (limited to 'src/google/protobuf/stubs/common.cc')
-rw-r--r-- | src/google/protobuf/stubs/common.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/google/protobuf/stubs/common.cc b/src/google/protobuf/stubs/common.cc index 1e2d68d2..34a7d139 100644 --- a/src/google/protobuf/stubs/common.cc +++ b/src/google/protobuf/stubs/common.cc @@ -177,6 +177,12 @@ LogMessage::LogMessage(LogLevel level, const char* filename, int line) : level_(level), filename_(filename), line_(line) {} LogMessage::~LogMessage() {} +#if defined(_MSC_VER) && defined(_CPPUNWIND) + #define PROTOBUF_USE_EXCEPTIONS +#elif defined(__EXCEPTIONS) + #define PROTOBUF_USE_EXCEPTIONS +#endif + void LogMessage::Finish() { bool suppress = false; @@ -191,10 +197,16 @@ void LogMessage::Finish() { } if (level_ == LOGLEVEL_FATAL) { +#ifdef PROTOBUF_USE_EXCEPTIONS + throw -1; +#else abort(); +#endif } } +#undef PROTOBUF_USE_EXCEPTIONS + void LogFinisher::operator=(LogMessage& other) { other.Finish(); } |