aboutsummaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2019-08-20 23:14:05 +0300
committerGitHub <noreply@github.com>2019-08-20 23:14:05 +0300
commit1ea3ddc6ad7458bbcb51704ccb5ef266c5164074 (patch)
tree62540e1b93a4844a5e5c45395a63bbfa3ec419d3 /test cases
parent0384487fc52c445d005ca1ea5b2a1c83ce56200c (diff)
parent142012ab73bf1cfedb59f539400f0c18df055ec8 (diff)
downloadmeson-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')
-rw-r--r--test cases/common/152 shared module resolving symbol in executable/meson.build5
-rw-r--r--test cases/common/185 has link arg/meson.build15
-rw-r--r--test cases/common/203 function attributes/meson.build4
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?