diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2019-08-20 23:14:05 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-20 23:14:05 +0300 |
commit | 1ea3ddc6ad7458bbcb51704ccb5ef266c5164074 (patch) | |
tree | 62540e1b93a4844a5e5c45395a63bbfa3ec419d3 /test cases/common | |
parent | 0384487fc52c445d005ca1ea5b2a1c83ce56200c (diff) | |
parent | 142012ab73bf1cfedb59f539400f0c18df055ec8 (diff) | |
download | meson-1ea3ddc6ad7458bbcb51704ccb5ef266c5164074.zip meson-1ea3ddc6ad7458bbcb51704ccb5ef266c5164074.tar.gz meson-1ea3ddc6ad7458bbcb51704ccb5ef266c5164074.tar.bz2 |
Merge pull request #5681 from dcbaker/dynamic-linker-split
split dynamic linker representations from compilers
Diffstat (limited to 'test cases/common')
3 files changed, 18 insertions, 6 deletions
diff --git a/test cases/common/152 shared module resolving symbol in executable/meson.build b/test cases/common/152 shared module resolving symbol in executable/meson.build index 282a4d2..4e5188f 100644 --- a/test cases/common/152 shared module resolving symbol in executable/meson.build +++ b/test cases/common/152 shared module resolving symbol in executable/meson.build @@ -9,6 +9,11 @@ project('shared module resolving symbol in executable', 'c') # See testcase 125 for an example of the more complex portability gymnastics # required if we do not know (at link-time) what provides the symbol. +cc = meson.get_compiler('c') +if cc.get_id() == 'pgi' + error('MESON_SKIP_TEST PGI has its own unique set of macros that would need to be handled') +endif + dl = meson.get_compiler('c').find_library('dl', required: false) e = executable('prog', 'prog.c', dependencies: dl, export_dynamic: true) m = shared_module('module', 'module.c', link_with: e) diff --git a/test cases/common/185 has link arg/meson.build b/test cases/common/185 has link arg/meson.build index 10f2218..6bfbd59 100644 --- a/test cases/common/185 has link arg/meson.build +++ b/test cases/common/185 has link arg/meson.build @@ -8,15 +8,16 @@ if cc.get_argument_syntax() == 'msvc' useless = '/DEBUG' isnt_arg = '/iambroken' else - is_arg = '-Wl,-Lfoo' - useless = '-Wl,-Lbar' + is_arg = '-Wl,-L/tmp' + useless = '-Wl,-L/usr' isnt_arg = '-Wl,-iambroken' endif assert(cc.has_link_argument(is_arg), 'Arg that should have worked does not work.') -assert(not cc.has_link_argument(isnt_arg), 'Arg that should be broken is not.') - assert(cpp.has_link_argument(is_arg), 'Arg that should have worked does not work.') + +if cc.get_id() != 'pgi' +assert(not cc.has_link_argument(isnt_arg), 'Arg that should be broken is not.') assert(not cpp.has_link_argument(isnt_arg), 'Arg that should be broken is not.') assert(cc.get_supported_link_arguments([is_arg, isnt_arg, useless]) == [is_arg, useless], 'Arg filtering returned different result.') @@ -38,7 +39,9 @@ assert(l1.get(0) == is_arg, 'First supported returned wrong argument.') assert(l2.length() == 0, 'First supported did not return empty array.') assert(not cc.has_multi_link_arguments([isnt_arg, is_arg]), 'Arg that should be broken is not.') -assert(cc.has_multi_link_arguments(is_arg), 'Arg that should have worked does not work.') -assert(cc.has_multi_link_arguments([useless, is_arg]), 'Arg that should have worked does not work.') assert(not cc.has_link_argument('-Wl,-z,nodelete42'), 'Did not detect wrong -z linker argument') +endif + +assert(cc.has_multi_link_arguments(is_arg), 'Arg that should have worked does not work.') +assert(cc.has_multi_link_arguments([useless, is_arg]), 'Arg that should have worked does not work.') diff --git a/test cases/common/203 function attributes/meson.build b/test cases/common/203 function attributes/meson.build index 58ac7c8..43ed011 100644 --- a/test cases/common/203 function attributes/meson.build +++ b/test cases/common/203 function attributes/meson.build @@ -19,6 +19,10 @@ project('gcc func attributes', ['c', 'cpp']) c = meson.get_compiler('c') cpp = meson.get_compiler('cpp') +if c.get_id() == 'pgi' + error('MESON_SKIP_TEST: PGI supports its own set of features, will need a seperate list for PGI to test it.') +endif + expected_result = not ['msvc', 'clang-cl', 'intel-cl'].contains(c.get_id()) # Q: Why is ifunc not in this list or any of the below lists? |