Use generic feature name for sanitizers that replace new and delete
authorEric Fiselier <eric@efcs.ca>
Tue, 10 Mar 2015 20:46:04 +0000 (20:46 +0000)
committerEric Fiselier <eric@efcs.ca>
Tue, 10 Mar 2015 20:46:04 +0000 (20:46 +0000)
llvm-svn: 231841

36 files changed:
libcxx/test/libcxx/test/config.py
libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp
libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_replace.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_nothrow.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_nothrow_replace.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_replace.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_replace.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_nothrow.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_nothrow_replace.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_replace.pass.cpp
libcxx/test/std/localization/locales/locale/locale.cons/assign.pass.cpp
libcxx/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
libcxx/test/std/localization/locales/locale/locale.cons/copy.pass.cpp
libcxx/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp
libcxx/test/std/localization/locales/locale/locale.cons/locale_facetptr.pass.cpp
libcxx/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp
libcxx/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp
libcxx/test/std/localization/locales/locale/locale.cons/string.pass.cpp
libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp
libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp
libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_throw.pass.cpp
libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_throw.pass.cpp
libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_throw.pass.cpp
libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp
libcxx/test/support/count_new.hpp

index 9fd974b..a974adf 100644 (file)
@@ -544,6 +544,7 @@ class Configuration(object):
                 if llvm_symbolizer is not None:
                     self.env['ASAN_SYMBOLIZER_PATH'] = llvm_symbolizer
                 self.config.available_features.add('asan')
+                self.config.available_features.add('sanitizer-new-delete')
             elif san == 'Memory' or san == 'MemoryWithOrigins':
                 self.cxx.flags += ['-fsanitize=memory']
                 if san == 'MemoryWithOrigins':
@@ -552,6 +553,7 @@ class Configuration(object):
                 if llvm_symbolizer is not None:
                     self.env['MSAN_SYMBOLIZER_PATH'] = llvm_symbolizer
                 self.config.available_features.add('msan')
+                self.config.available_features.add('sanitizer-new-delete')
             elif san == 'Undefined':
                 self.cxx.flags += ['-fsanitize=undefined',
                                    '-fno-sanitize=vptr,function',
@@ -561,6 +563,7 @@ class Configuration(object):
             elif san == 'Thread':
                 self.cxx.flags += ['-fsanitize=thread']
                 self.config.available_features.add('tsan')
+                self.config.available_features.add('sanitizer-new-delete')
             else:
                 self.lit_config.fatal('unsupported value for '
                                       'use_sanitizer: {0}'.format(san))
index d69deac..a7f1917 100644 (file)
@@ -12,7 +12,7 @@
 // template <InputIterator Iter>
 //   iterator insert(const_iterator position, Iter first, Iter last);
 
-// UNSUPPORTED: asan, msan
+// UNSUPPORTED: sanitizer-new-delete
 
 #if _LIBCPP_DEBUG >= 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index a552e1f..eeb74b8 100644 (file)
@@ -11,7 +11,7 @@
 
 // iterator insert(const_iterator position, size_type n, const value_type& x);
 
-// UNSUPPORTED: asan, msan
+// UNSUPPORTED: sanitizer-new-delete
 
 #if _LIBCPP_DEBUG >= 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 093ad42..406e93a 100644 (file)
@@ -11,7 +11,7 @@
 
 // iterator insert(const_iterator position, const value_type& x);
 
-// UNSUPPORTED: asan, msan
+// UNSUPPORTED: sanitizer-new-delete
 
 #if _LIBCPP_DEBUG >= 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 6a5320b..59e8637 100644 (file)
@@ -12,7 +12,7 @@
 // Note that sized delete operator definitions below are simply ignored
 // when sized deallocation is not supported, e.g., prior to C++14.
 
-// UNSUPPORTED: asan, msan
+// UNSUPPORTED: sanitizer-new-delete
 
 #include <new>
 #include <cstddef>
index 752cd70..e09f312 100644 (file)
@@ -12,7 +12,7 @@
 // Note that sized delete operator definitions below are simply ignored
 // when sized deallocation is not supported, e.g., prior to C++14.
 
-// UNSUPPORTED: asan, msan
+// UNSUPPORTED: sanitizer-new-delete
 
 #include <new>
 #include <cstddef>
index 3ba71dd..58aa3f2 100644 (file)
@@ -10,7 +10,7 @@
 // test operator new
 
 // asan and msan will not call the new handler.
-// UNSUPPORTED: asan, msan
+// UNSUPPORTED: sanitizer-new-delete
 
 #include <new>
 #include <cstddef>
index b5eb9f2..2d39f43 100644 (file)
@@ -12,7 +12,7 @@
 // Note that sized delete operator definitions below are simply ignored
 // when sized deallocation is not supported, e.g., prior to C++14.
 
-// UNSUPPORTED: asan, msan
+// UNSUPPORTED: sanitizer-new-delete
 
 #include <new>
 #include <cstddef>
index 4e0d7c7..5cf99ea 100644 (file)
@@ -12,7 +12,7 @@
 // Note that sized delete operator definitions below are simply ignored
 // when sized deallocation is not supported, e.g., prior to C++14.
 
-// UNSUPPORTED: asan, msan
+// UNSUPPORTED: sanitizer-new-delete
 
 #include <new>
 #include <cstddef>
index 75ce9b5..80afe1e 100644 (file)
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 
 // REQUIRES: locale.ru_RU.UTF-8
-// UNSUPPORTED: msan, asan
+// UNSUPPORTED: sanitizer-new-delete
 
 // <locale>
 
index 01857a4..3567bf5 100644 (file)
@@ -9,7 +9,7 @@
 
 // REQUIRES: locale.ru_RU.UTF-8
 // REQUIRES: locale.zh_CN.UTF-8
-// UNSUPPORTED: msan, asan
+// UNSUPPORTED: sanitizer-new-delete
 
 // <locale>
 
index 629c9e6..0760cc4 100644 (file)
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 
 // REQUIRES: locale.fr_FR.UTF-8
-// UNSUPPORTED: msan, asan
+// UNSUPPORTED: sanitizer-new-delete
 
 // <locale>
 
index 8b83bc0..fb6e39e 100644 (file)
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 
 // REQUIRES: locale.ru_RU.UTF-8
-// UNSUPPORTED: msan, asan
+// UNSUPPORTED: sanitizer-new-delete
 
 // <locale>
 
index 66be76d..d48a572 100644 (file)
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 
 // REQUIRES: locale.ru_RU.UTF-8
-// UNSUPPORTED: msan, asan
+// UNSUPPORTED: sanitizer-new-delete
 
 // <locale>
 
index 32c3507..c9f9441 100644 (file)
@@ -9,7 +9,7 @@
 
 // REQUIRES: locale.ru_RU.UTF-8
 // REQUIRES: locale.zh_CN.UTF-8
-// UNSUPPORTED: msan, asan
+// UNSUPPORTED: sanitizer-new-delete
 
 // <locale>
 
index f426425..e4ff556 100644 (file)
@@ -16,7 +16,7 @@
 //    returns null.
 // 2. If allocator_may_return_null=1 then they will fail because the allocation
 //    is too large to succeed.
-// UNSUPPORTED: asan, msan
+// UNSUPPORTED: sanitizer-new-delete
 
 #include <string>
 #include <cassert>
index 0f5d5aa..a8b4be1 100644 (file)
@@ -15,7 +15,7 @@
 
 // template <class F, class ...Args> thread(F&& f, Args&&... args);
 
-// UNSUPPORTED: asan, msan
+// UNSUPPORTED: sanitizer-new-delete
 
 #include <thread>
 #include <new>
index 00df7a1..ddaf036 100644 (file)
@@ -10,7 +10,8 @@
 #endif
 
 #if  __has_feature(address_sanitizer) \
-  || __has_feature(memory_sanitizer)
+  || __has_feature(memory_sanitizer) \
+  || __has_feature(thread_sanitizer)
 #define DISABLE_NEW_COUNT
 #endif