diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-06-20 23:46:48 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-06-30 00:50:06 +0300 |
commit | bde99eb6c40a9c7bc4055b0dc84a31021b7623d2 (patch) | |
tree | 0e30bc253ba763d1a421ff5f62067d8b9433231a /mesonbuild/interpreter.py | |
parent | e1eb84eb9e78a5905c8585bd5ea61c9880dd05cb (diff) | |
download | meson-bde99eb6c40a9c7bc4055b0dc84a31021b7623d2.zip meson-bde99eb6c40a9c7bc4055b0dc84a31021b7623d2.tar.gz meson-bde99eb6c40a9c7bc4055b0dc84a31021b7623d2.tar.bz2 |
Warn if using Clang+asan+b_lundef. Closes #764.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index d008eb9..bf4a1e6 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -3645,6 +3645,25 @@ different subdirectory. mlog.log('Build targets in project:', mlog.bold(str(len(self.build.targets)))) FeatureNew.called_features_report() FeatureDeprecated.called_features_report() + if self.subproject == '': + self.print_extra_warnings() + + def print_extra_warnings(self): + for c in self.build.compilers.values(): + if c.get_id() == 'clang': + self.check_clang_asan_lundef() + break + + def check_clang_asan_lundef(self): + if 'b_lundef' not in self.coredata.base_options: + return + if 'b_sanitize' not in self.coredata.base_options: + return + if 'address' in self.coredata.base_options['b_sanitize'].value: + if self.coredata.base_options['b_lundef'].value: + mlog.warning('''Trying to use address sanitizer on Clang with b_lundef. +This will probably not work. +Try setting b_lundef to false instead.''') def evaluate_subproject_info(self, path_from_source_root, subproject_dirname): depth = 0 |