Skip to content

Commit f4fee7f

Browse files
authored
Merge pull request #1704 from su2code/fix_old_ass_compilers
Check if compilers support flags before using them
2 parents 3a9f8d6 + 91f75e5 commit f4fee7f

5 files changed

Lines changed: 83 additions & 66 deletions

File tree

externals/cgns/hdf5/meson.build

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,25 @@
1-
if target_machine.system() == 'windows' or meson.get_compiler('c').get_id() == 'intel'
2-
hdf5_default_warnings = []
3-
else
4-
hdf5_default_warnings = ['-Wno-unused-result',
5-
'-Wno-unused-parameter',
6-
'-Wno-unused-variable',
7-
'-Wno-unused-but-set-variable',
8-
'-Wno-sign-compare',
9-
'-Wno-stringop-overflow',
10-
'-Wno-discarded-qualifiers',
11-
'-Wno-error=maybe-uninitialized',
12-
'-Wno-error=unused-function',
13-
'-Wno-error=unused-label',
14-
'-Wno-pedantic',
15-
'-Wno-error=stringop-truncation',
16-
'-Wno-error=cast-function-type',
17-
'-Wno-stringop-truncation'
18-
]
1+
hdf5_default_warnings = []
2+
3+
if target_machine.system() != 'windows' and meson.get_compiler('c').get_id() != 'intel'
4+
desired_warnings = ['-Wno-unused-result',
5+
'-Wno-unused-parameter',
6+
'-Wno-unused-variable',
7+
'-Wno-unused-but-set-variable',
8+
'-Wno-sign-compare',
9+
'-Wno-stringop-overflow',
10+
'-Wno-error=discarded-qualifiers',
11+
'-Wno-error=maybe-uninitialized',
12+
'-Wno-error=unused-function',
13+
'-Wno-error=unused-label',
14+
'-Wno-pedantic',
15+
'-Wno-error=stringop-truncation',
16+
'-Wno-error=cast-function-type',
17+
'-Wno-stringop-truncation']
18+
foreach flag : desired_warnings
19+
if meson.get_compiler('cpp').has_argument(flag)
20+
hdf5_default_warnings += flag
21+
endif
22+
endforeach
1923
endif
2024

2125
cc = meson.get_compiler('c')

externals/cgns/meson.build

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
1-
if build_machine.system() == 'windows' or meson.get_compiler('cpp').get_id() == 'intel'
2-
cgns_default_warnings = []
3-
else
4-
cgns_default_warnings = ['-Wno-unused-result',
5-
'-Wno-unused-parameter',
6-
'-Wno-unused-variable',
7-
'-Wno-unused-but-set-variable',
8-
'-Wno-sign-compare',
9-
'-Wno-error=unused-function',
10-
'-Wno-pedantic',
11-
'-Wno-error=stringop-truncation',
12-
'-Wno-stringop-truncation',
13-
'-Wno-error=absolute-value',
14-
'-Wno-error=class-memaccess'
15-
]
1+
cgns_default_warnings = []
2+
3+
if build_machine.system() != 'windows' and meson.get_compiler('cpp').get_id() != 'intel'
4+
desired_warnings = ['-Wno-unused-result',
5+
'-Wno-unused-parameter',
6+
'-Wno-unused-variable',
7+
'-Wno-unused-but-set-variable',
8+
'-Wno-sign-compare',
9+
'-Wno-error=unused-function',
10+
'-Wno-pedantic',
11+
'-Wno-error=stringop-truncation',
12+
'-Wno-stringop-truncation',
13+
'-Wno-error=absolute-value',
14+
'-Wno-error=class-memaccess']
15+
foreach flag : desired_warnings
16+
if meson.get_compiler('cpp').has_argument(flag)
17+
cgns_default_warnings += flag
18+
endif
19+
endforeach
1620
endif
1721

1822
subdir('hdf5')

externals/metis/meson.build

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,25 @@ metis_default_warnings = []
44
if build_machine.system() != 'windows'
55
metis_default_warnings += ['-Wno-implicit-function-declaration']
66
if meson.get_compiler('cpp').get_id() != 'intel'
7-
metis_default_warnings += ['-Wno-unused-result',
8-
'-Wno-unused-parameter',
9-
'-Wno-unused-variable',
10-
'-Wno-unused-but-set-variable',
11-
'-Wno-unknown-pragmas',
12-
'-Wno-sign-compare',
13-
'-Wno-clobbered',
14-
'-Wno-empty-body',
15-
'-Wno-unused-label',
16-
'-Wno-misleading-indentation',
17-
'-Wno-maybe-uninitialized',
18-
'-Wno-pedantic',
19-
'-Wno-error=absolute-value',
20-
'-Wno-absolute-value'
21-
]
7+
desired_warnings = ['-Wno-unused-result',
8+
'-Wno-unused-parameter',
9+
'-Wno-unused-variable',
10+
'-Wno-unused-but-set-variable',
11+
'-Wno-unknown-pragmas',
12+
'-Wno-sign-compare',
13+
'-Wno-clobbered',
14+
'-Wno-empty-body',
15+
'-Wno-unused-label',
16+
'-Wno-misleading-indentation',
17+
'-Wno-maybe-uninitialized',
18+
'-Wno-pedantic',
19+
'-Wno-error=absolute-value',
20+
'-Wno-absolute-value']
21+
foreach flag : desired_warnings
22+
if meson.get_compiler('cpp').has_argument(flag)
23+
metis_default_warnings += flag
24+
endif
25+
endforeach
2226
endif
2327
endif
2428

externals/tecio/teciompisrc/meson.build

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@ if (host_machine.system() == 'windows')
1212
tec_cxx_flags += ['-DMSWIN']
1313
endif
1414

15-
if build_machine.system() != 'windows'
16-
if meson.get_compiler('cpp').get_id() != 'intel'
17-
tec_cxx_flags += ['-Wno-misleading-indentation',
15+
if build_machine.system() != 'windows' and meson.get_compiler('cpp').get_id() != 'intel'
16+
desired_warnings = ['-Wno-misleading-indentation',
1817
'-Wno-uninitialized',
1918
'-Wno-placement-new',
2019
'-Wno-pedantic',
@@ -23,12 +22,14 @@ if build_machine.system() != 'windows'
2322
'-Wno-error=deprecated-copy',
2423
'-Wno-deprecated-copy',
2524
'-Wno-error=cast-function-type',
26-
'-Wno-cast-function-type',
27-
]
28-
endif
25+
'-Wno-cast-function-type']
26+
foreach flag : desired_warnings
27+
if meson.get_compiler('cpp').has_argument(flag)
28+
tec_cxx_flags += flag
29+
endif
30+
endforeach
2931
endif
3032

31-
3233
teciompi_include = include_directories(['../', './'])
3334

3435
teciompi = static_library('teciompi',

meson.build

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,21 @@ if build_machine.system() != 'windows'
2121
if meson.get_compiler('cpp').get_id() != 'intel'
2222
default_warning_flags += ['-Wno-empty-body']
2323
endif
24-
default_warning_flags += ['-Wno-unused-parameter',
25-
'-Wno-deprecated-declarations',
26-
'-Wno-error=cast-function-type',
27-
'-Wno-cast-function-type',
28-
'-Wno-error=stringop-truncation',
29-
'-Wno-stringop-truncation',
30-
'-Wno-error=missing-field-initializers',
31-
'-Wno-missing-field-initializers',
32-
'-Wno-error=class-memaccess',
33-
'-Wno-class-memaccess'
34-
]
24+
desired_warnings = ['-Wno-unused-parameter',
25+
'-Wno-deprecated-declarations',
26+
'-Wno-error=cast-function-type',
27+
'-Wno-cast-function-type',
28+
'-Wno-error=stringop-truncation',
29+
'-Wno-stringop-truncation',
30+
'-Wno-error=missing-field-initializers',
31+
'-Wno-missing-field-initializers',
32+
'-Wno-error=class-memaccess',
33+
'-Wno-class-memaccess']
34+
foreach flag : desired_warnings
35+
if meson.get_compiler('cpp').has_argument(flag)
36+
default_warning_flags += flag
37+
endif
38+
endforeach
3539

3640
if get_option('enable-autodiff') or get_option('enable-directdiff')
3741
default_warning_flags += ['-Wno-non-virtual-dtor']

0 commit comments

Comments
 (0)