Commit 798c68d5a5
Changed files (1)
src
src/libtsan.zig
@@ -92,7 +92,7 @@ pub fn buildTsan(comp: *Compilation, prog_node: *std.Progress.Node) !void {
try cflags.append("-nostdinc++");
try cflags.append("-fvisibility-inlines-hidden");
- try cflags.append("-std=c++14");
+ try cflags.append("-std=c++17");
try cflags.append("-fno-rtti");
c_source_files.appendAssumeCapacity(.{
@@ -102,10 +102,11 @@ pub fn buildTsan(comp: *Compilation, prog_node: *std.Progress.Node) !void {
});
}
- const platform_tsan_sources = if (target.isDarwin())
- &darwin_tsan_sources
- else
- &unix_tsan_sources;
+ const platform_tsan_sources = switch (target.os.tag) {
+ .ios, .macos, .watchos, .tvos => &darwin_tsan_sources,
+ .windows => &windows_tsan_sources,
+ else => &unix_tsan_sources,
+ };
try c_source_files.ensureUnusedCapacity(platform_tsan_sources.len);
for (platform_tsan_sources) |tsan_src| {
var cflags = std.ArrayList([]const u8).init(arena);
@@ -115,7 +116,7 @@ pub fn buildTsan(comp: *Compilation, prog_node: *std.Progress.Node) !void {
try cflags.append("-nostdinc++");
try cflags.append("-fvisibility-inlines-hidden");
- try cflags.append("-std=c++14");
+ try cflags.append("-std=c++17");
try cflags.append("-fno-rtti");
c_source_files.appendAssumeCapacity(.{
@@ -155,10 +156,12 @@ pub fn buildTsan(comp: *Compilation, prog_node: *std.Progress.Node) !void {
try cflags.append("-I");
try cflags.append(sanitizer_common_include_path);
+ try cflags.append("-I");
+ try cflags.append(tsan_include_path);
try cflags.append("-nostdinc++");
try cflags.append("-fvisibility-inlines-hidden");
- try cflags.append("-std=c++14");
+ try cflags.append("-std=c++17");
try cflags.append("-fno-rtti");
c_source_files.appendAssumeCapacity(.{
@@ -180,10 +183,12 @@ pub fn buildTsan(comp: *Compilation, prog_node: *std.Progress.Node) !void {
try cflags.append("-I");
try cflags.append(sanitizer_common_include_path);
+ try cflags.append("-I");
+ try cflags.append(tsan_include_path);
try cflags.append("-nostdinc++");
try cflags.append("-fvisibility-inlines-hidden");
- try cflags.append("-std=c++14");
+ try cflags.append("-std=c++17");
try cflags.append("-fno-rtti");
c_source_files.appendAssumeCapacity(.{
@@ -204,7 +209,7 @@ pub fn buildTsan(comp: *Compilation, prog_node: *std.Progress.Node) !void {
try cflags.append("-nostdinc++");
try cflags.append("-fvisibility-inlines-hidden");
- try cflags.append("-std=c++14");
+ try cflags.append("-std=c++17");
try cflags.append("-fno-rtti");
c_source_files.appendAssumeCapacity(.{
@@ -233,7 +238,7 @@ pub fn buildTsan(comp: *Compilation, prog_node: *std.Progress.Node) !void {
try cflags.append("-nostdinc++");
try cflags.append("-fvisibility-inlines-hidden");
- try cflags.append("-std=c++14");
+ try cflags.append("-std=c++17");
try cflags.append("-fno-rtti");
c_source_files.appendAssumeCapacity(.{
@@ -278,12 +283,12 @@ pub fn buildTsan(comp: *Compilation, prog_node: *std.Progress.Node) !void {
}
const tsan_sources = [_][]const u8{
- "tsan_clock.cpp",
"tsan_debugging.cpp",
"tsan_external.cpp",
"tsan_fd.cpp",
"tsan_flags.cpp",
"tsan_ignoreset.cpp",
+ "tsan_interceptors_memintrinsics.cpp",
"tsan_interceptors_posix.cpp",
"tsan_interface.cpp",
"tsan_interface_ann.cpp",
@@ -293,9 +298,12 @@ const tsan_sources = [_][]const u8{
"tsan_md5.cpp",
"tsan_mman.cpp",
"tsan_mutexset.cpp",
+ "tsan_new_delete.cpp",
+ "tsan_platform_windows.cpp",
"tsan_preinit.cpp",
"tsan_report.cpp",
"tsan_rtl.cpp",
+ "tsan_rtl_access.cpp",
"tsan_rtl_mutex.cpp",
"tsan_rtl_proc.cpp",
"tsan_rtl_report.cpp",
@@ -304,6 +312,7 @@ const tsan_sources = [_][]const u8{
"tsan_suppressions.cpp",
"tsan_symbolize.cpp",
"tsan_sync.cpp",
+ "tsan_vector_clock.cpp",
};
const darwin_tsan_sources = [_][]const u8{
@@ -318,9 +327,17 @@ const unix_tsan_sources = [_][]const u8{
"tsan_platform_posix.cpp",
};
+const windows_tsan_sources = [_][]const u8{
+ "tsan_platform_windows.cpp",
+};
+
const sanitizer_common_sources = [_][]const u8{
"sanitizer_allocator.cpp",
+ "sanitizer_chained_origin_depot.cpp",
"sanitizer_common.cpp",
+ "sanitizer_coverage_win_dll_thunk.cpp",
+ "sanitizer_coverage_win_dynamic_runtime_thunk.cpp",
+ "sanitizer_coverage_win_weak_interception.cpp",
"sanitizer_deadlock_detector1.cpp",
"sanitizer_deadlock_detector2.cpp",
"sanitizer_errno.cpp",
@@ -335,8 +352,6 @@ const sanitizer_common_sources = [_][]const u8{
"sanitizer_mac.cpp",
"sanitizer_mutex.cpp",
"sanitizer_netbsd.cpp",
- "sanitizer_openbsd.cpp",
- "sanitizer_persistent_allocator.cpp",
"sanitizer_platform_limits_freebsd.cpp",
"sanitizer_platform_limits_linux.cpp",
"sanitizer_platform_limits_netbsd.cpp",
@@ -351,15 +366,22 @@ const sanitizer_common_sources = [_][]const u8{
"sanitizer_procmaps_linux.cpp",
"sanitizer_procmaps_mac.cpp",
"sanitizer_procmaps_solaris.cpp",
+ "sanitizer_range.cpp",
"sanitizer_solaris.cpp",
+ "sanitizer_stack_store.cpp",
"sanitizer_stoptheworld_fuchsia.cpp",
"sanitizer_stoptheworld_mac.cpp",
+ "sanitizer_stoptheworld_win.cpp",
"sanitizer_suppressions.cpp",
"sanitizer_termination.cpp",
+ "sanitizer_thread_arg_retval.cpp",
"sanitizer_thread_registry.cpp",
"sanitizer_tls_get_addr.cpp",
"sanitizer_type_traits.cpp",
"sanitizer_win.cpp",
+ "sanitizer_win_dll_thunk.cpp",
+ "sanitizer_win_dynamic_runtime_thunk.cpp",
+ "sanitizer_win_weak_interception.cpp",
};
const sanitizer_nolibc_sources = [_][]const u8{