diff options
author | liujisi@google.com <liujisi@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2010-12-07 06:23:55 +0000 |
---|---|---|
committer | liujisi@google.com <liujisi@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2010-12-07 06:23:55 +0000 |
commit | 1fd96c43a01ec913a89de31c58c0bc9f1e5bf542 (patch) | |
tree | fd75a0bffe10b1e57155cbf70d32d41e44302be0 /src/google/protobuf/stubs/common.cc | |
parent | b4d64bf7f3aa65318a5262977e59f42595c4c5d0 (diff) |
Add new files for vcprojs, fix issues: 165, 211, 228, 240
Diffstat (limited to 'src/google/protobuf/stubs/common.cc')
-rw-r--r-- | src/google/protobuf/stubs/common.cc | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/google/protobuf/stubs/common.cc b/src/google/protobuf/stubs/common.cc index 34a7d139..7b15be44 100644 --- a/src/google/protobuf/stubs/common.cc +++ b/src/google/protobuf/stubs/common.cc @@ -177,12 +177,6 @@ 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; @@ -198,15 +192,13 @@ void LogMessage::Finish() { if (level_ == LOGLEVEL_FATAL) { #ifdef PROTOBUF_USE_EXCEPTIONS - throw -1; + throw FatalException(filename_, line_, message_); #else abort(); #endif } } -#undef PROTOBUF_USE_EXCEPTIONS - void LogFinisher::operator=(LogMessage& other) { other.Finish(); } @@ -373,5 +365,13 @@ void ShutdownProtobufLibrary() { internal::shutdown_functions_mutex = NULL; } +#ifdef PROTOBUF_USE_EXCEPTIONS +FatalException::~FatalException() throw() {} + +const char* FatalException::what() const throw() { + return message_.c_str(); +} +#endif + } // namespace protobuf } // namespace google |