[libcxx-commits] [libcxx] fe15556 - Support leak sanitizer in libcxx.
Sterling Augustine via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Apr 26 14:19:52 PDT 2021
Author: Sterling Augustine
Date: 2021-04-26T14:19:34-07:00
New Revision: fe1555607716899745fc53c503193fff1b7bbe15
URL: https://github.com/llvm/llvm-project/commit/fe1555607716899745fc53c503193fff1b7bbe15
DIFF: https://github.com/llvm/llvm-project/commit/fe1555607716899745fc53c503193fff1b7bbe15.diff
LOG: Support leak sanitizer in libcxx.
Support leak sanitizer in libcxx.
Simple addition for leak checking when running the libcxx testsuite.
Differential Revision: https://reviews.llvm.org/D100775
Added:
Modified:
libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
libcxx/utils/libcxx/test/config.py
Removed:
################################################################################
diff --git a/libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py b/libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
index 4621e6388343..b9d00371418e 100644
--- a/libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
+++ b/libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
@@ -37,23 +37,6 @@ def invoke(self, arg, from_tty):
compare_frame = gdb.newest_frame().older()
testcase_frame = compare_frame.older()
test_loc = testcase_frame.find_sal()
-
- expectation_val = compare_frame.read_var("expectation")
- check_literal = expectation_val.string(encoding="utf-8")
-
- # Heuristic to determine if libc++ itself has debug
- # info. If it doesn't, then anything normally homed there
- # won't be found, and the printer will error. We don't
- # want to fail the test in this case--the printer itself
- # is probably fine, or at least we can't tell.
- if check_literal.startswith("std::shared_ptr"):
- shared_ptr = compare_frame.read_var("value")
- if not "__shared_owners_" in shared_ptr.type.fields():
- print("IGNORED (no debug info in libc++): " +
- test_loc.symtab.filename + ":" +
- str(test_loc.line))
- return
-
# Use interactive commands in the correct context to get the pretty
# printed version
diff --git a/libcxx/utils/libcxx/test/config.py b/libcxx/utils/libcxx/test/config.py
index 54e67ec7f4d9..c2939cfc2717 100644
--- a/libcxx/utils/libcxx/test/config.py
+++ b/libcxx/utils/libcxx/test/config.py
@@ -526,6 +526,8 @@ def add_ubsan():
self.config.available_features.add('sanitizer-new-delete')
elif san == 'DataFlow':
self.cxx.flags += ['-fsanitize=dataflow']
+ elif san == 'Leaks':
+ self.cxx.link_flags += ['-fsanitize=leaks']
else:
self.lit_config.fatal('unsupported value for '
'use_sanitizer: {0}'.format(san))
More information about the libcxx-commits
mailing list