mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-22 10:10:06 +00:00
Use a proper compiler test for constexpr support
After GCC 15, C23 became the default version. [1] Add a proper compiler test for constexpr support to ensure that GCC 15+ invoked with `c_std` set to `none` does not erroneously use the constexpr shim. This change does not affect the build in its default configuration (which uses GNU C11); it is only meant to prepare the build system for adding C23 elements to the code. [1]: https://gcc.gnu.org/gcc-15/changes.html
This commit is contained in:
parent
e8c3bcc0a2
commit
6ae002f1ae
11
meson.build
11
meson.build
@ -293,9 +293,14 @@ config.set_quoted('NAMED_CONFFILE', sysconfdir / 'named.conf')
|
||||
config.set_quoted('CACHEDB_DEFAULT', get_option('cachedb'))
|
||||
config.set_quoted('ZONEDB_DEFAULT', get_option('zonedb'))
|
||||
|
||||
# Shim constexpr for pre-C23
|
||||
# "ne" => "none"
|
||||
if c_std.substring(-2) in ['ne', '89', '99', '11', '17', '18']
|
||||
constexpr_test = '''
|
||||
static constexpr int r = 0;
|
||||
|
||||
int main(void) {
|
||||
return r;
|
||||
}
|
||||
'''
|
||||
if not cc.compiles(constexpr_test, name: 'usage of constexpr')
|
||||
config.set('constexpr', 'static const')
|
||||
endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user