Merge branch 'atomic-older-cplusplus' into 'main'

gatomic: fix the atomic compare_and_exchange macros on older C++ standard versions

See merge request GNOME/glib!2864
This commit is contained in:
Philip Withnall
2022-10-12 09:56:19 +00:00
8 changed files with 110 additions and 36 deletions

View File

@@ -15,8 +15,19 @@ if have_cxx
gmodule_tests += {
'cxx' : {
'source' : ['cxx.cpp'],
'suite' : ['cpp'],
}
}
foreach std, arg: cxx_standards
gmodule_tests += {
'cxx-@0@'.format(std) : {
'source' : ['cxx.cpp'],
'suite' : ['cpp'],
'cpp_args' : [arg],
},
}
endforeach
endif
module_suffix = []
@@ -51,6 +62,7 @@ test_env.set('MALLOC_CHECK_', '2')
test_deps = [libm, thread_dep, libglib_dep, libgmodule_dep]
test_cargs = ['-DG_LOG_DOMAIN="GModule"', '-UG_DISABLE_ASSERT']
test_cpp_args = test_cargs
foreach test_name, extra_args : gmodule_tests
source = extra_args.get('source', test_name + '.c')
@@ -72,6 +84,7 @@ foreach test_name, extra_args : gmodule_tests
exe = executable(test_name, source,
c_args : test_cargs + extra_args.get('c_args', []),
cpp_args : test_cpp_args + extra_args.get('cpp_args', []),
link_args : extra_args.get('link_args', []),
dependencies : test_deps + extra_args.get('dependencies', []),
export_dynamic : extra_args.get('export_dynamic', false),