aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2020-04-12 23:43:34 +0300
committerGitHub <noreply@github.com>2020-04-12 23:43:34 +0300
commite929e67555f83d0718cfe5ad3c8e978c2aa1589c (patch)
tree3fbb916854cf2240810af1b635250e9d13c073b4
parentf695359e1d487deaada8db61694cc24f10985580 (diff)
parentfe3f7676e991572ee5698e63bd9d717c8c8a2c73 (diff)
downloadmeson-e929e67555f83d0718cfe5ad3c8e978c2aa1589c.zip
meson-e929e67555f83d0718cfe5ad3c8e978c2aa1589c.tar.gz
meson-e929e67555f83d0718cfe5ad3c8e978c2aa1589c.tar.bz2
Merge pull request #6943 from dcbaker/gdc-coverage
Fix coverage generation with D compilers
-rw-r--r--mesonbuild/compilers/compilers.py3
-rw-r--r--mesonbuild/compilers/d.py8
-rw-r--r--mesonbuild/compilers/mixins/clike.py6
-rw-r--r--mesonbuild/compilers/mixins/gnu.py3
4 files changed, 10 insertions, 10 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index 2caddde..52b9592 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -1201,6 +1201,9 @@ class Compiler:
"""
return []
+ def get_coverage_link_args(self) -> T.List[str]:
+ return self.linker.get_coverage_args()
+
def get_largefile_args(compiler):
'''
diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py
index a86f254..a83e221 100644
--- a/mesonbuild/compilers/d.py
+++ b/mesonbuild/compilers/d.py
@@ -105,6 +105,9 @@ class DmdLikeCompilerMixin:
def get_coverage_args(self):
return ['-cov']
+ def get_coverage_link_args(self):
+ return []
+
def get_preprocess_only_args(self):
return ['-E']
@@ -642,7 +645,7 @@ class GnuDCompiler(GnuCompiler, DCompiler):
'1': default_warn_args,
'2': default_warn_args + ['-Wextra'],
'3': default_warn_args + ['-Wextra', '-Wpedantic']}
- self.base_options = ['b_colorout', 'b_sanitize', 'b_staticpic', 'b_vscrt']
+ self.base_options = ['b_colorout', 'b_sanitize', 'b_staticpic', 'b_vscrt', 'b_coverage']
self._has_color_support = version_compare(self.version, '>=4.9')
# dependencies were implemented before, but broken - support was fixed in GCC 7.1+
@@ -662,9 +665,6 @@ class GnuDCompiler(GnuCompiler, DCompiler):
def get_warn_args(self, level):
return self.warn_args[level]
- def get_coverage_args(self):
- return []
-
def get_buildtype_args(self, buildtype):
return d_gdc_buildtype_args[buildtype]
diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py
index 93c1a7c..cd16f86 100644
--- a/mesonbuild/compilers/mixins/clike.py
+++ b/mesonbuild/compilers/mixins/clike.py
@@ -114,12 +114,6 @@ class CLikeCompiler:
def get_output_args(self, target):
return ['-o', target]
- def get_coverage_args(self):
- return ['--coverage']
-
- def get_coverage_link_args(self) -> T.List[str]:
- return self.linker.get_coverage_args()
-
def get_werror_args(self):
return ['-Werror']
diff --git a/mesonbuild/compilers/mixins/gnu.py b/mesonbuild/compilers/mixins/gnu.py
index 5072b11..29552f3 100644
--- a/mesonbuild/compilers/mixins/gnu.py
+++ b/mesonbuild/compilers/mixins/gnu.py
@@ -312,6 +312,9 @@ class GnuLikeCompiler(metaclass=abc.ABCMeta):
'not {}.'.format(linker))
return ['-fuse-ld={}'.format(linker)]
+ def get_coverage_args(self) -> T.List[str]:
+ return ['--coverage']
+
class GnuCompiler(GnuLikeCompiler):
"""