UBSan doesn't globally replace new/delete but it still makes some tests fail. Investigation needed.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@273372 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -628,7 +628,6 @@ class Configuration(object):
|
|||||||
self.cxx.compile_flags += ['-O3']
|
self.cxx.compile_flags += ['-O3']
|
||||||
self.env['UBSAN_OPTIONS'] = 'print_stacktrace=1'
|
self.env['UBSAN_OPTIONS'] = 'print_stacktrace=1'
|
||||||
self.config.available_features.add('ubsan')
|
self.config.available_features.add('ubsan')
|
||||||
self.config.available_features.add('sanitizer-new-delete')
|
|
||||||
elif san == 'Thread':
|
elif san == 'Thread':
|
||||||
self.cxx.flags += ['-fsanitize=thread']
|
self.cxx.flags += ['-fsanitize=thread']
|
||||||
self.config.available_features.add('tsan')
|
self.config.available_features.add('tsan')
|
||||||
|
|||||||
@@ -11,6 +11,10 @@
|
|||||||
|
|
||||||
// UNSUPPORTED: sanitizer-new-delete
|
// UNSUPPORTED: sanitizer-new-delete
|
||||||
|
|
||||||
|
// TODO Investigate why UBSAN prevents new from calling our replacement.
|
||||||
|
// XFAIL: ubsan
|
||||||
|
|
||||||
|
|
||||||
#include <new>
|
#include <new>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|||||||
@@ -11,6 +11,10 @@
|
|||||||
|
|
||||||
// UNSUPPORTED: sanitizer-new-delete
|
// UNSUPPORTED: sanitizer-new-delete
|
||||||
|
|
||||||
|
// TODO Investigate why UBSAN prevents new from calling our replacement.
|
||||||
|
// XFAIL: ubsan
|
||||||
|
|
||||||
|
|
||||||
#include <new>
|
#include <new>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// XFAIL: libcpp-no-exceptions
|
// XFAIL: libcpp-no-exceptions
|
||||||
|
|
||||||
// test operator new
|
// test operator new
|
||||||
|
|
||||||
// asan and msan will not call the new handler.
|
// asan and msan will not call the new handler.
|
||||||
|
|||||||
@@ -11,6 +11,10 @@
|
|||||||
|
|
||||||
// UNSUPPORTED: sanitizer-new-delete
|
// UNSUPPORTED: sanitizer-new-delete
|
||||||
|
|
||||||
|
// TODO Investigate why UBSAN prevents nothrow new from calling our replacement.
|
||||||
|
// XFAIL: ubsan
|
||||||
|
|
||||||
|
|
||||||
#include <new>
|
#include <new>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|||||||
@@ -13,6 +13,10 @@
|
|||||||
|
|
||||||
// UNSUPPORTED: sanitizer-new-delete
|
// UNSUPPORTED: sanitizer-new-delete
|
||||||
|
|
||||||
|
// TODO Investigate why UBSAN prevents new from calling our replacement.
|
||||||
|
// XFAIL: ubsan
|
||||||
|
|
||||||
|
|
||||||
#include <new>
|
#include <new>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|||||||
@@ -14,6 +14,9 @@
|
|||||||
|
|
||||||
// UNSUPPORTED: sanitizer-new-delete
|
// UNSUPPORTED: sanitizer-new-delete
|
||||||
|
|
||||||
|
// TODO Investigate why UBSAN prevents new from calling our replacement.
|
||||||
|
// XFAIL: ubsan
|
||||||
|
|
||||||
// NOTE: Only clang-3.7 and GCC 5.1 and greater support -fsized-deallocation.
|
// NOTE: Only clang-3.7 and GCC 5.1 and greater support -fsized-deallocation.
|
||||||
// REQUIRES: fsized-deallocation
|
// REQUIRES: fsized-deallocation
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user