aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2022-06-02 02:57:23 +0200
committerDylan Baker <dylan@pnwbakers.com>2022-06-06 09:40:14 -0700
commit29c26d5b26397eaa3606d22d71309ecd1eb6b223 (patch)
treee9aa3fb6d0ee9491a276b861f504ac3c07db445b
parent3e2dba5b7cd107f60474b3cb01c307a9e2354868 (diff)
downloadmeson-29c26d5b26397eaa3606d22d71309ecd1eb6b223.zip
meson-29c26d5b26397eaa3606d22d71309ecd1eb6b223.tar.gz
meson-29c26d5b26397eaa3606d22d71309ecd1eb6b223.tar.bz2
compilers: Add support for stand-alone leak sanitizer
Leak sanitizer can be enabled without the whole AddressSanitizer, this can be done by passing -fsanitize=leak as documented at [1]. Meson doesn't support this, so add support for it. [1] https://clang.llvm.org/docs/LeakSanitizer.html
-rw-r--r--docs/markdown/Builtin-options.md2
-rw-r--r--docs/markdown/Configuring-a-build-directory.md2
-rw-r--r--mesonbuild/compilers/compilers.py2
3 files changed, 3 insertions, 3 deletions
diff --git a/docs/markdown/Builtin-options.md b/docs/markdown/Builtin-options.md
index 1e24144..80c32a6 100644
--- a/docs/markdown/Builtin-options.md
+++ b/docs/markdown/Builtin-options.md
@@ -142,7 +142,7 @@ available on all platforms or with all compilers:
| b_vscrt | from_buildtype | none, md, mdd, mt, mtd, from_buildtype, static_from_buildtype | VS runtime library to use (since 0.48.0) (static_from_buildtype since 0.56.0) |
The value of `b_sanitize` can be one of: `none`, `address`, `thread`,
-`undefined`, `memory`, `address,undefined`, but note that some
+`undefined`, `memory`, `leak`, `address,undefined`, but note that some
compilers might not support all of them. For example Visual Studio
only supports the address sanitizer.
diff --git a/docs/markdown/Configuring-a-build-directory.md b/docs/markdown/Configuring-a-build-directory.md
index 34bde4d..37080ef 100644
--- a/docs/markdown/Configuring-a-build-directory.md
+++ b/docs/markdown/Configuring-a-build-directory.md
@@ -53,7 +53,7 @@ a sample output for a simple project.
b_ndebug false [true, false, if-release] Disable asserts
b_pch true [true, false] Use precompiled headers
b_pgo off [off, generate, use] Use profile guided optimization
- b_sanitize none [none, address, thread, undefined, memory, address,undefined] Code sanitizer to use
+ b_sanitize none [none, address, thread, undefined, leak, memory, address,undefined] Code sanitizer to use
b_staticpic true [true, false] Build static libraries as position independent
Compiler options:
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index 03c1199..18ba6e9 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -278,7 +278,7 @@ base_options: 'KeyedOptionDictType' = {
['default', 'thin'],
'default'),
OptionKey('b_sanitize'): coredata.UserComboOption('Code sanitizer to use',
- ['none', 'address', 'thread', 'undefined', 'memory', 'address,undefined'],
+ ['none', 'address', 'thread', 'undefined', 'memory', 'leak', 'address,undefined'],
'none'),
OptionKey('b_lundef'): coredata.UserBooleanOption('Use -Wl,--no-undefined when linking', True),
OptionKey('b_asneeded'): coredata.UserBooleanOption('Use -Wl,--as-needed when linking', True),