kInterceptorName, kInterceptorViaFunction, kInterceptorViaLibrary,
kODRViolation};
-#if SANITIZER_SUPPORTS_WEAK_HOOKS
-extern "C" {
-SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE
-const char *__asan_default_suppressions();
-} // extern "C"
-#endif // SANITIZER_SUPPORTS_WEAK_HOOKS
-
void InitializeSuppressions() {
CHECK_EQ(nullptr, suppression_ctx);
suppression_ctx = new (suppression_placeholder) // NOLINT
SuppressionContext(kSuppressionTypes, ARRAY_SIZE(kSuppressionTypes));
suppression_ctx->ParseFromFile(flags()->suppressions);
-#if SANITIZER_SUPPORTS_WEAK_HOOKS
- if (&__asan_default_suppressions)
- suppression_ctx->Parse(__asan_default_suppressions());
-#endif // SANITIZER_SUPPORTS_WEAK_HOOKS
}
bool IsInterceptorSuppressed(const char *interceptor_name) {
#pragma comment(linker, "/alternatename:___sanitizer_malloc_hook=___sanitizer_default_malloc_hook") // NOLINT
#pragma comment(linker, "/alternatename:___sanitizer_free_hook=___sanitizer_default_free_hook") // NOLINT
#pragma comment(linker, "/alternatename:___asan_default_options=___asan_default_default_options") // NOLINT
-#pragma comment(linker, "/alternatename:___asan_default_suppressions=___asan_default_default_suppressions") // NOLINT
#pragma comment(linker, "/alternatename:___asan_on_error=___asan_default_on_error") // NOLINT
} // extern "C"
+++ /dev/null
-// Test that we use the suppressions from __asan_default_suppressions.
-// RUN: %clangxx_asan %s -o %t && not %run %t 2>&1 | FileCheck %s
-extern "C" {
- const char *__asan_default_suppressions() { return "FooBar"; }
-}
-// CHECK: AddressSanitizer: failed to parse suppressions
-int main() {}