Browse Source

[master] Compilation fix

Clang seems to be confused by too many templates and function
overloading, so we sacrifice little bit of convenience to make it happy.
Michal 'vorner' Vaner 14 years ago
parent
commit
cdadcd5d6a

+ 0 - 13
src/lib/log/log_formatter.h

@@ -181,19 +181,6 @@ public:
         }
         return (*this);
     }
-
-    /// \brief Exception version of arg.
-    ///
-    /// \param e An exception which the "what()" is extracted an put into the
-    ///     message.
-    Formatter& arg(const std::exception& e) {
-        if (logger_) {
-            return (arg(e.what()));
-        } else {
-            return (*this);
-        }
-    }
-
 };
 
 }

+ 0 - 15
src/lib/log/tests/log_formatter_unittest.cc

@@ -123,19 +123,4 @@ TEST_F(FormatterTest, noRecurse) {
     EXPECT_EQ("%1 %1", outputs[0].second);
 }
 
-// Test it can accept exceptions (which don't have a default conversion
-// to string by themself)
-TEST_F(FormatterTest, exception) {
-    class Ex : public std::exception {
-    public:
-        virtual const char* what() const throw() {
-            return "Exception test";
-        }
-    };
-    Formatter(isc::log::INFO, s("%1"), this).arg(Ex());
-    ASSERT_EQ(1, outputs.size());
-    EXPECT_EQ(isc::log::INFO, outputs[0].first);
-    EXPECT_EQ("Exception test", outputs[0].second);
-}
-
 }

+ 2 - 2
src/lib/server_common/portconfig.cc

@@ -114,12 +114,12 @@ installListenAddresses(const AddressList& newAddresses,
          * user will get error info, command control can be used to set new
          * address. So we just catch the exception without propagating outside
          */
-        LOG_ERROR(logger, SRVCOMM_ADDRESS_FAIL).arg(e);
+        LOG_ERROR(logger, SRVCOMM_ADDRESS_FAIL).arg(e.what());
         try {
             setAddresses(service, addressStore);
         }
         catch (const exception& e2) {
-            LOG_FATAL(logger, SRVCOMM_ADDRESS_UNRECOVERABLE).arg(e2);
+            LOG_FATAL(logger, SRVCOMM_ADDRESS_UNRECOVERABLE).arg(e2.what());
         }
         //Anyway the new configure has problem, we need to notify configure
         //manager the new configure doesn't work