Browse Source

[master] place internal exception class in a separate namespace.

this is the same workaround with particular versions of clang++ (on a
particular instance of OS X box) as that we did for isc.log wrapper.
committing it at my discretion.
JINMEI Tatuya 12 years ago
parent
commit
27369e24c8
1 changed files with 6 additions and 1 deletions
  1. 6 1
      src/lib/dns/python/zone_checker_python.cc

+ 6 - 1
src/lib/dns/python/zone_checker_python.cc

@@ -65,12 +65,17 @@ namespace dns {
 namespace python {
 namespace internal {
 
-namespace {
+// Place the exception class in a named namespace to avoid weird run time
+// failure with clang++.  See isc.log Python wrapper.
+namespace clang_unnamed_namespace_workaround {
 // This is used to abort check_zone() and go back to the top level.
 // We use a separate exception so it won't be caught in the middle.
 class InternalException : public std::exception {
 };
+}
+using namespace clang_unnamed_namespace_workaround;
 
+namespace {
 // This is a "wrapper" RRsetCollection subclass.  It's constructed with
 // a Python RRsetCollection object, and its find() calls the Python version
 // of RRsetCollection.find().  This way, the check_zone() wrapper will work