diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-03-25 09:38:58 +0100 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-04-18 18:25:49 +0200 |
commit | 261bd78d57d40a03f340cfe4fc78ff9717c9602d (patch) | |
tree | 56918700689bbafd55af340a13d15c94ac5831fe /gcc | |
parent | baf3b9b2e5259558ef86bd62398e2ccecd7a4a4c (diff) | |
download | gcc-261bd78d57d40a03f340cfe4fc78ff9717c9602d.zip gcc-261bd78d57d40a03f340cfe4fc78ff9717c9602d.tar.gz gcc-261bd78d57d40a03f340cfe4fc78ff9717c9602d.tar.bz2 |
libphobos: Add --with-libphobos-druntime-only option.
The intended purpose of the option is both for targets that don't
support phobos yet, and for gdc itself to support bootstrapping itself
as a self-hosted D compiler.
The libphobos testsuite has been updated to only add libphobos to the
search paths if it's being built. A new D2 testsuite directive
RUNNABLE_PHOBOS_TEST has also been patched in to disable some runnable
tests that have phobos dependencies, of which is a temporary measure
until upstream DMD fixes or removes these tests entirely.
gcc/testsuite/ChangeLog:
* lib/gdc-utils.exp (gdc-convert-test): Add dg-skip-if for tests that
depending on the phobos standard library.
libphobos/ChangeLog:
* configure: Regenerate.
* configure.ac: Add --with-libphobos-druntime-only option and the
conditional ENABLE_LIBDRUNTIME_ONLY.
* configure.tgt: Define LIBDRUNTIME_ONLY.
* src/Makefile.am: Add phobos sources if not ENABLE_LIBDRUNTIME_ONLY.
* src/Makefile.in: Regenerate.
* testsuite/testsuite_flags.in: Add phobos path if compiling phobos.
Diffstat (limited to 'gcc')
52 files changed, 60 insertions, 0 deletions
diff --git a/gcc/testsuite/gdc.test/runnable/builtin.d b/gcc/testsuite/gdc.test/runnable/builtin.d index 205e792..d7ac356 100644 --- a/gcc/testsuite/gdc.test/runnable/builtin.d +++ b/gcc/testsuite/gdc.test/runnable/builtin.d @@ -116,3 +116,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/complex.d b/gcc/testsuite/gdc.test/runnable/complex.d index e9c79cb..49bb309 100644 --- a/gcc/testsuite/gdc.test/runnable/complex.d +++ b/gcc/testsuite/gdc.test/runnable/complex.d @@ -460,3 +460,4 @@ int main(char[][] args) return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/constfold.d b/gcc/testsuite/gdc.test/runnable/constfold.d index 0708056..d56f6c1 100644 --- a/gcc/testsuite/gdc.test/runnable/constfold.d +++ b/gcc/testsuite/gdc.test/runnable/constfold.d @@ -672,3 +672,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/foreach4.d b/gcc/testsuite/gdc.test/runnable/foreach4.d index 32ac466..bf8eab4 100644 --- a/gcc/testsuite/gdc.test/runnable/foreach4.d +++ b/gcc/testsuite/gdc.test/runnable/foreach4.d @@ -928,3 +928,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/ifti.d b/gcc/testsuite/gdc.test/runnable/ifti.d index 9ea97a2..0e4edef 100644 --- a/gcc/testsuite/gdc.test/runnable/ifti.d +++ b/gcc/testsuite/gdc.test/runnable/ifti.d @@ -118,3 +118,4 @@ void main() { } } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/implicit.d b/gcc/testsuite/gdc.test/runnable/implicit.d index bc3f626..89e6ac1 100644 --- a/gcc/testsuite/gdc.test/runnable/implicit.d +++ b/gcc/testsuite/gdc.test/runnable/implicit.d @@ -479,3 +479,4 @@ void main() writefln("Success"); } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/inner.d b/gcc/testsuite/gdc.test/runnable/inner.d index 592aaca..40eb27d 100644 --- a/gcc/testsuite/gdc.test/runnable/inner.d +++ b/gcc/testsuite/gdc.test/runnable/inner.d @@ -916,3 +916,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/interpret.d b/gcc/testsuite/gdc.test/runnable/interpret.d index 1dc9023..eee3930 100644 --- a/gcc/testsuite/gdc.test/runnable/interpret.d +++ b/gcc/testsuite/gdc.test/runnable/interpret.d @@ -3609,3 +3609,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/issue8671.d b/gcc/testsuite/gdc.test/runnable/issue8671.d index f9fa013..8097e79 100644 --- a/gcc/testsuite/gdc.test/runnable/issue8671.d +++ b/gcc/testsuite/gdc.test/runnable/issue8671.d @@ -3,3 +3,4 @@ void main() { double t = 1.0 - uniform(0.0, 1.0); } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/lazy.d b/gcc/testsuite/gdc.test/runnable/lazy.d index 2fea546..741877c 100644 --- a/gcc/testsuite/gdc.test/runnable/lazy.d +++ b/gcc/testsuite/gdc.test/runnable/lazy.d @@ -308,3 +308,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/mars1.d b/gcc/testsuite/gdc.test/runnable/mars1.d index 91d93db..b240745 100644 --- a/gcc/testsuite/gdc.test/runnable/mars1.d +++ b/gcc/testsuite/gdc.test/runnable/mars1.d @@ -1723,3 +1723,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/mixin1.d b/gcc/testsuite/gdc.test/runnable/mixin1.d index 5332ebb..c16d943 100644 --- a/gcc/testsuite/gdc.test/runnable/mixin1.d +++ b/gcc/testsuite/gdc.test/runnable/mixin1.d @@ -1468,3 +1468,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/mixin2.d b/gcc/testsuite/gdc.test/runnable/mixin2.d index 245e71c..53a64d5 100644 --- a/gcc/testsuite/gdc.test/runnable/mixin2.d +++ b/gcc/testsuite/gdc.test/runnable/mixin2.d @@ -361,3 +361,4 @@ void main() writeln("Success"); } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/s2ir.d b/gcc/testsuite/gdc.test/runnable/s2ir.d index ca832d2..4c969b4 100644 --- a/gcc/testsuite/gdc.test/runnable/s2ir.d +++ b/gcc/testsuite/gdc.test/runnable/s2ir.d @@ -95,3 +95,4 @@ int main() writefln("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/stress.d b/gcc/testsuite/gdc.test/runnable/stress.d index 2c7afe0..1b7f645 100644 --- a/gcc/testsuite/gdc.test/runnable/stress.d +++ b/gcc/testsuite/gdc.test/runnable/stress.d @@ -725,3 +725,4 @@ void CLASS() } } } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/template4.d b/gcc/testsuite/gdc.test/runnable/template4.d index ab082d9..84792da 100644 --- a/gcc/testsuite/gdc.test/runnable/template4.d +++ b/gcc/testsuite/gdc.test/runnable/template4.d @@ -1164,3 +1164,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/template9.d b/gcc/testsuite/gdc.test/runnable/template9.d index 0f1309f..0b11c6b 100644 --- a/gcc/testsuite/gdc.test/runnable/template9.d +++ b/gcc/testsuite/gdc.test/runnable/template9.d @@ -4965,3 +4965,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test10942.d b/gcc/testsuite/gdc.test/runnable/test10942.d index f85b4c9..612158f 100644 --- a/gcc/testsuite/gdc.test/runnable/test10942.d +++ b/gcc/testsuite/gdc.test/runnable/test10942.d @@ -24,3 +24,4 @@ mixin(getEnum(1087)); void main() { } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test11.d b/gcc/testsuite/gdc.test/runnable/test11.d index 5b21ba0..e62ea97 100644 --- a/gcc/testsuite/gdc.test/runnable/test11.d +++ b/gcc/testsuite/gdc.test/runnable/test11.d @@ -1390,3 +1390,4 @@ int main(string[] argv) } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test12.d b/gcc/testsuite/gdc.test/runnable/test12.d index 2b1fb0e..c196361 100644 --- a/gcc/testsuite/gdc.test/runnable/test12.d +++ b/gcc/testsuite/gdc.test/runnable/test12.d @@ -1250,3 +1250,4 @@ int main(string[] argv) return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test12197.d b/gcc/testsuite/gdc.test/runnable/test12197.d index 51dc36c..52d44c9 100644 --- a/gcc/testsuite/gdc.test/runnable/test12197.d +++ b/gcc/testsuite/gdc.test/runnable/test12197.d @@ -10,3 +10,4 @@ void main() foo(a); assert(a[0] == 10000); } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test15.d b/gcc/testsuite/gdc.test/runnable/test15.d index d8bb3ae..75cd11e 100644 --- a/gcc/testsuite/gdc.test/runnable/test15.d +++ b/gcc/testsuite/gdc.test/runnable/test15.d @@ -1439,3 +1439,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test22.d b/gcc/testsuite/gdc.test/runnable/test22.d index e2d26e7..d15db1d 100644 --- a/gcc/testsuite/gdc.test/runnable/test22.d +++ b/gcc/testsuite/gdc.test/runnable/test22.d @@ -1306,3 +1306,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test23.d b/gcc/testsuite/gdc.test/runnable/test23.d index f43f6a4..dda2864 100644 --- a/gcc/testsuite/gdc.test/runnable/test23.d +++ b/gcc/testsuite/gdc.test/runnable/test23.d @@ -1566,3 +1566,4 @@ void main() printf("Success\n"); } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test24.d b/gcc/testsuite/gdc.test/runnable/test24.d index 78e9150..cc6d668 100644 --- a/gcc/testsuite/gdc.test/runnable/test24.d +++ b/gcc/testsuite/gdc.test/runnable/test24.d @@ -8,3 +8,4 @@ void main() { string hi = std.string.format("%s", 3); } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test27.d b/gcc/testsuite/gdc.test/runnable/test27.d index b45c132..3e5a462 100644 --- a/gcc/testsuite/gdc.test/runnable/test27.d +++ b/gcc/testsuite/gdc.test/runnable/test27.d @@ -11,3 +11,4 @@ int main() return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test28.d b/gcc/testsuite/gdc.test/runnable/test28.d index c7ec6ad..1f7e7e8 100644 --- a/gcc/testsuite/gdc.test/runnable/test28.d +++ b/gcc/testsuite/gdc.test/runnable/test28.d @@ -1318,3 +1318,4 @@ void main() printf("Success\n"); } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test34.d b/gcc/testsuite/gdc.test/runnable/test34.d index 5c28d0f..e92f3d6 100644 --- a/gcc/testsuite/gdc.test/runnable/test34.d +++ b/gcc/testsuite/gdc.test/runnable/test34.d @@ -1292,3 +1292,4 @@ void main() } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test37.d b/gcc/testsuite/gdc.test/runnable/test37.d index 97448d1..c28d30f 100644 --- a/gcc/testsuite/gdc.test/runnable/test37.d +++ b/gcc/testsuite/gdc.test/runnable/test37.d @@ -11,3 +11,4 @@ void main() // imports in a subdirectory of the -J path writefln(import("std14198/uni.d")); } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test42.d b/gcc/testsuite/gdc.test/runnable/test42.d index 6e0c42b..2bb0458 100644 --- a/gcc/testsuite/gdc.test/runnable/test42.d +++ b/gcc/testsuite/gdc.test/runnable/test42.d @@ -6438,3 +6438,4 @@ int main() return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test5305.d b/gcc/testsuite/gdc.test/runnable/test5305.d index e1c274d..9102cba 100644 --- a/gcc/testsuite/gdc.test/runnable/test5305.d +++ b/gcc/testsuite/gdc.test/runnable/test5305.d @@ -5,3 +5,4 @@ void map(real function(real) f) { } int main() { map(&sqrt); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test60.d b/gcc/testsuite/gdc.test/runnable/test60.d index e55f05c..ab96732 100644 --- a/gcc/testsuite/gdc.test/runnable/test60.d +++ b/gcc/testsuite/gdc.test/runnable/test60.d @@ -20,3 +20,4 @@ void main() writeln("Success"); } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testaa.d b/gcc/testsuite/gdc.test/runnable/testaa.d index d069e79..6e28e89 100644 --- a/gcc/testsuite/gdc.test/runnable/testaa.d +++ b/gcc/testsuite/gdc.test/runnable/testaa.d @@ -1383,3 +1383,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testbitarray.d b/gcc/testsuite/gdc.test/runnable/testbitarray.d index 0204460..118388b 100644 --- a/gcc/testsuite/gdc.test/runnable/testbitarray.d +++ b/gcc/testsuite/gdc.test/runnable/testbitarray.d @@ -14,3 +14,4 @@ void main() { } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testdstress.d b/gcc/testsuite/gdc.test/runnable/testdstress.d index ee36d34..097fc31 100644 --- a/gcc/testsuite/gdc.test/runnable/testdstress.d +++ b/gcc/testsuite/gdc.test/runnable/testdstress.d @@ -930,3 +930,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testfile.d b/gcc/testsuite/gdc.test/runnable/testfile.d index 7005900..e7c3e19 100644 --- a/gcc/testsuite/gdc.test/runnable/testfile.d +++ b/gcc/testsuite/gdc.test/runnable/testfile.d @@ -22,3 +22,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testformat.d b/gcc/testsuite/gdc.test/runnable/testformat.d index e209b85..2cb0da9 100644 --- a/gcc/testsuite/gdc.test/runnable/testformat.d +++ b/gcc/testsuite/gdc.test/runnable/testformat.d @@ -123,3 +123,4 @@ int main() std.stdio.writefln("Success"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testline.d b/gcc/testsuite/gdc.test/runnable/testline.d index 22117bd..5001fc2 100644 --- a/gcc/testsuite/gdc.test/runnable/testline.d +++ b/gcc/testsuite/gdc.test/runnable/testline.d @@ -41,3 +41,4 @@ void checkFileSpec(Object o){ writeln(str); assert(str[start .. start+3]=="(1)"); } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testmmfile.d b/gcc/testsuite/gdc.test/runnable/testmmfile.d index f0b3340..1ae98df 100644 --- a/gcc/testsuite/gdc.test/runnable/testmmfile.d +++ b/gcc/testsuite/gdc.test/runnable/testmmfile.d @@ -117,3 +117,4 @@ int main() return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testscope2.d b/gcc/testsuite/gdc.test/runnable/testscope2.d index ae4e3d7..cde02ab 100644 --- a/gcc/testsuite/gdc.test/runnable/testscope2.d +++ b/gcc/testsuite/gdc.test/runnable/testscope2.d @@ -246,3 +246,4 @@ void main() printf("Success\n"); } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testsignals.d b/gcc/testsuite/gdc.test/runnable/testsignals.d index 619be73..a43f892 100644 --- a/gcc/testsuite/gdc.test/runnable/testsignals.d +++ b/gcc/testsuite/gdc.test/runnable/testsignals.d @@ -111,3 +111,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testsocket.d b/gcc/testsuite/gdc.test/runnable/testsocket.d index 3d153d6..00b757a 100644 --- a/gcc/testsuite/gdc.test/runnable/testsocket.d +++ b/gcc/testsuite/gdc.test/runnable/testsocket.d @@ -48,3 +48,4 @@ int main () } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/teststdio.d b/gcc/testsuite/gdc.test/runnable/teststdio.d index b5cc444..854dcb5 100644 --- a/gcc/testsuite/gdc.test/runnable/teststdio.d +++ b/gcc/testsuite/gdc.test/runnable/teststdio.d @@ -31,3 +31,4 @@ void main() } while (!feof(fp)); //fclose(fp); } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testthread2.d b/gcc/testsuite/gdc.test/runnable/testthread2.d index 008d425..0ec6e0d 100644 --- a/gcc/testsuite/gdc.test/runnable/testthread2.d +++ b/gcc/testsuite/gdc.test/runnable/testthread2.d @@ -106,3 +106,4 @@ void main() { } } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testtypeid.d b/gcc/testsuite/gdc.test/runnable/testtypeid.d index 936dfaa..dcaac73 100644 --- a/gcc/testsuite/gdc.test/runnable/testtypeid.d +++ b/gcc/testsuite/gdc.test/runnable/testtypeid.d @@ -684,3 +684,4 @@ int main() return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/traits.d b/gcc/testsuite/gdc.test/runnable/traits.d index b73ee01c..915f16d 100644 --- a/gcc/testsuite/gdc.test/runnable/traits.d +++ b/gcc/testsuite/gdc.test/runnable/traits.d @@ -1606,3 +1606,4 @@ int main() writeln("Success"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/wc.d b/gcc/testsuite/gdc.test/runnable/wc.d index 7ee3586..e5fd98a 100644 --- a/gcc/testsuite/gdc.test/runnable/wc.d +++ b/gcc/testsuite/gdc.test/runnable/wc.d @@ -48,3 +48,4 @@ int main (string[] args) } return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/wc2.d b/gcc/testsuite/gdc.test/runnable/wc2.d index 6229627..780f5f1 100644 --- a/gcc/testsuite/gdc.test/runnable/wc2.d +++ b/gcc/testsuite/gdc.test/runnable/wc2.d @@ -72,3 +72,4 @@ int main (string[] args) } return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/wc3.d b/gcc/testsuite/gdc.test/runnable/wc3.d index 3cb4e25..666bfb9 100644 --- a/gcc/testsuite/gdc.test/runnable/wc3.d +++ b/gcc/testsuite/gdc.test/runnable/wc3.d @@ -70,3 +70,4 @@ int main (string[] args) } return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/xtest46.d b/gcc/testsuite/gdc.test/runnable/xtest46.d index b3caffd..e1cdbcd 100644 --- a/gcc/testsuite/gdc.test/runnable/xtest46.d +++ b/gcc/testsuite/gdc.test/runnable/xtest46.d @@ -8283,3 +8283,4 @@ int main() printf("Success\n"); return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/xtest55.d b/gcc/testsuite/gdc.test/runnable/xtest55.d index 3d41b99..1062a1a 100644 --- a/gcc/testsuite/gdc.test/runnable/xtest55.d +++ b/gcc/testsuite/gdc.test/runnable/xtest55.d @@ -22,3 +22,4 @@ int main() return 0; } +// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/lib/gdc-utils.exp b/gcc/testsuite/lib/gdc-utils.exp index 31a4cf0..87d1105 100644 --- a/gcc/testsuite/lib/gdc-utils.exp +++ b/gcc/testsuite/lib/gdc-utils.exp @@ -208,6 +208,7 @@ proc gdc-convert-test { base test } { set extra_sources "" set extra_files "" + set needs_phobos 0 upvar 1 compilable_do_what compilable_do_what set compilable_output_file_ext "" @@ -296,6 +297,11 @@ proc gdc-convert-test { base test } { } regsub -- {COMPILED_IMPORTS.*$} $copy_line "" out_line + } elseif [regexp -- {RUNNABLE_PHOBOS_TEST} $copy_line match sources] { + # RUNNABLE_PHOBOS_TEST annotates tests that import the std module. + # It will need skipping if phobos is not available on the target. + regsub -- {RUNNABLE_PHOBOS_TEST.*$} $copy_line "" out_line + set needs_phobos 1 } puts $fdout $out_line @@ -331,6 +337,9 @@ proc gdc-convert-test { base test } { if ![isnative] { puts $fdout "// { dg-final { output-exists } }" } + if $needs_phobos { + puts $fdout "// { dg-skip-if \"imports phobos\" { ! d_runtime_has_std_library } }" + } } compilable { |