summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Mitz <mitza@ociweb.com>2018-01-11 12:13:06 -0600
committerAdam Mitz <mitza@ociweb.com>2018-01-11 12:13:06 -0600
commit90adcc25acb454ce3de98443fb76e9a6d52de871 (patch)
tree4ec1e2d7a339964bfde4f07dc4a8e679d2148068
parentdb6ca5ccdcb52899ce9571ff24897d50529de13b (diff)
downloadATCD-90adcc25acb454ce3de98443fb76e9a6d52de871.tar.gz
clang workarounds for Compiler_Features_32_Test
-rw-r--r--ACE/tests/Compiler_Features_32_Test.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/ACE/tests/Compiler_Features_32_Test.cpp b/ACE/tests/Compiler_Features_32_Test.cpp
index f6e20e32427..92b668cb1d8 100644
--- a/ACE/tests/Compiler_Features_32_Test.cpp
+++ b/ACE/tests/Compiler_Features_32_Test.cpp
@@ -41,6 +41,11 @@ A::u_type_::~u_type_ ()
void A::clear ()
{
+#ifdef __clang__
+ // As of 5.0, clang requires one of two workarounds:
+ // 1. the name after ~ must be in scope
+ using std::string;
+#endif
this->u_.string_member_.std::string::~string ();
}
@@ -49,7 +54,12 @@ struct B {
std::string m;
} u_;
void clear() {
- u_.m.std::string::~string();
+#ifdef __clang__
+ // 2. actual class name instead of typedef
+ u_.m.std::string::~basic_string ();
+#else
+ u_.m.std::string::~string ();
+#endif
}
};