diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-04-25 02:19:04 +0200 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-04-25 02:19:04 +0200 |
commit | 018730326d878d98b85b1256ff220e76665ed97e (patch) | |
tree | 39976b0fbb3c7afa4583d54d0be78c63ec5ff351 /gcc | |
parent | 873878bb82443ce738f35b1ad3c9ef98f6aeb6da (diff) | |
download | gcc-018730326d878d98b85b1256ff220e76665ed97e.zip gcc-018730326d878d98b85b1256ff220e76665ed97e.tar.gz gcc-018730326d878d98b85b1256ff220e76665ed97e.tar.bz2 |
d: Merge upstream dmd 09db0c41e, druntime e68a5ae3.
* New core.math.toPrec templates have been added as an intrinsic.
Some floating point algorithms, such as Kahan-Babuska-Neumaier
Summation, require rounding to specific precisions. Rounding to
precision after every operation, however, loses overall precision in
the general case and is a runtime performance problem.
Adding these functions guarantee the rounding at required points in
the code, and document where in the algorithm the requirement exists.
* Support IBM long double types in core.internal.convert.
* Add missing aliases for 64-bit vectors in core.simd.
* RUNNABLE_PHOBOS_TEST directive has been properly integrated into the
D2 language testsuite.
Reviewed-on: https://github.com/dlang/druntime/pull/3063
https://github.com/dlang/dmd/pull/11054
gcc/d/ChangeLog:
* intrinsics.cc (expand_intrinsic_toprec): New function.
(maybe_expand_intrinsic): Handle toPrec intrinsics.
* intrinsics.def (TOPRECF, TOPREC, TOPRECL): Add toPrec intrinsics.
Diffstat (limited to 'gcc')
56 files changed, 143 insertions, 62 deletions
diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index b96f0ff..7bb38a8 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,9 @@ +2020-04-25 Iain Buclaw <ibuclaw@gdcproject.org> + + * intrinsics.cc (expand_intrinsic_toprec): New function. + (maybe_expand_intrinsic): Handle toPrec intrinsics. + * intrinsics.def (TOPRECF, TOPREC, TOPRECL): Add toPrec intrinsics. + 2020-04-24 Iain Buclaw <ibuclaw@gdcproject.org> * d-spec.cc (need_phobos): Remove. diff --git a/gcc/d/dmd/MERGE b/gcc/d/dmd/MERGE index 155286d..a878cb9 100644 --- a/gcc/d/dmd/MERGE +++ b/gcc/d/dmd/MERGE @@ -1,4 +1,4 @@ -62ce36f3737de691217c21f0173f411734eb1d43 +09db0c41ee922502fa0966bde24c1cb9b15ad436 The first line of this file holds the git revision number of the last merge done from the dlang/dmd repository. diff --git a/gcc/d/intrinsics.cc b/gcc/d/intrinsics.cc index 9a9fd41..c7bde88e 100644 --- a/gcc/d/intrinsics.cc +++ b/gcc/d/intrinsics.cc @@ -467,6 +467,25 @@ expand_intrinsic_pow (tree callexp) base, exponent); } +/* Expand a front-end intrinsic call to toPrec(). This takes one argument, the + signature to which can be either: + + T toPrec(T)(float f); + T toPrec(T)(double f); + T toPrec(T)(real f); + + This rounds the argument F to the precision of the specified floating + point type T. The original call expression is held in CALLEXP. */ + +static tree +expand_intrinsic_toprec (tree callexp) +{ + tree f = CALL_EXPR_ARG (callexp, 0); + tree type = TREE_TYPE (callexp); + + return convert (type, f); +} + /* Expand a front-end intrinsic call to va_arg(). This takes either one or two arguments, the signature to which can be either: @@ -818,6 +837,9 @@ maybe_expand_intrinsic (tree callexp) CALL_EXPR_ARG (callexp, 1), CALL_EXPR_ARG (callexp, 2)); + case INTRINSIC_TOPREC: + return expand_intrinsic_toprec (callexp); + case INTRINSIC_VA_ARG: case INTRINSIC_C_VA_ARG: return expand_intrinsic_vaarg (callexp); diff --git a/gcc/d/intrinsics.def b/gcc/d/intrinsics.def index 3c8ed10..1782cd7 100644 --- a/gcc/d/intrinsics.def +++ b/gcc/d/intrinsics.def @@ -95,6 +95,9 @@ DEF_D_BUILTIN (SIN, SIN, "sin", "core.math", "FNaNbNiNfeZe") DEF_D_BUILTIN (SQRTF, SQRTF, "sqrt", "core.math", "FNaNbNiNffZf") DEF_D_BUILTIN (SQRT, SQRT, "sqrt", "core.math", "FNaNbNiNfdZd") DEF_D_BUILTIN (SQRTL, SQRTL, "sqrt", "core.math", "FNaNbNiNfeZe") +DEF_D_BUILTIN (TOPRECF, TOPREC, "toPrec", "core.math", "FNaNbNffZI1T") +DEF_D_BUILTIN (TOPREC, TOPREC, "toPrec", "core.math", "FNaNbNfdZI1T") +DEF_D_BUILTIN (TOPRECL, TOPREC, "toPrec", "core.math", "FNaNbNfeZI1T") /* std.math intrinsics. */ diff --git a/gcc/testsuite/gdc.test/compilable/interpret3.d b/gcc/testsuite/gdc.test/compilable/interpret3.d index 36cdd13..14d1a12 100644 --- a/gcc/testsuite/gdc.test/compilable/interpret3.d +++ b/gcc/testsuite/gdc.test/compilable/interpret3.d @@ -7742,3 +7742,19 @@ struct RBNode(T) static assert(!__traits(compiles, { alias bug18057 = RBNode!int; })); +/************************************************/ +// https://issues.dlang.org/show_bug.cgi?id=9937 + +int test9937() +{ + import core.math; + + float x = float.max; + x *= 2; + x = toPrec!float(x); + x /= 2; + assert(x == float.infinity); + return 1; +} + +static assert(test9937()); diff --git a/gcc/testsuite/gdc.test/runnable/builtin.d b/gcc/testsuite/gdc.test/runnable/builtin.d index d7ac356..44817b1 100644 --- a/gcc/testsuite/gdc.test/runnable/builtin.d +++ b/gcc/testsuite/gdc.test/runnable/builtin.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST import std.stdio; import std.math; @@ -116,4 +117,3 @@ 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 49bb309..78fe574 100644 --- a/gcc/testsuite/gdc.test/runnable/complex.d +++ b/gcc/testsuite/gdc.test/runnable/complex.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: import std.stdio; @@ -460,4 +461,3 @@ 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 d56f6c1..42406ea 100644 --- a/gcc/testsuite/gdc.test/runnable/constfold.d +++ b/gcc/testsuite/gdc.test/runnable/constfold.d @@ -1,5 +1,5 @@ #! blah - +// RUNNABLE_PHOBOS_TEST static assert(__LINE__ == 3); // fails as __LINE__ is 2 import std.stdio; @@ -672,4 +672,3 @@ 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 bf8eab4..8c9d421 100644 --- a/gcc/testsuite/gdc.test/runnable/foreach4.d +++ b/gcc/testsuite/gdc.test/runnable/foreach4.d @@ -1,4 +1,4 @@ - +// RUNNABLE_PHOBOS_TEST import core.stdc.stdio; import std.stdio; @@ -928,4 +928,3 @@ 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 0e4edef..6d66975 100644 --- a/gcc/testsuite/gdc.test/runnable/ifti.d +++ b/gcc/testsuite/gdc.test/runnable/ifti.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST import std.stdio; struct S { @@ -118,4 +119,3 @@ void main() { } } -// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/implicit.d b/gcc/testsuite/gdc.test/runnable/implicit.d index 89e6ac1..9170b04 100644 --- a/gcc/testsuite/gdc.test/runnable/implicit.d +++ b/gcc/testsuite/gdc.test/runnable/implicit.d @@ -1,4 +1,4 @@ - +// RUNNABLE_PHOBOS_TEST import std.stdio; /***********************************/ @@ -479,4 +479,3 @@ 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 40eb27d..e1be7b9 100644 --- a/gcc/testsuite/gdc.test/runnable/inner.d +++ b/gcc/testsuite/gdc.test/runnable/inner.d @@ -1,4 +1,4 @@ - +// RUNNABLE_PHOBOS_TEST import std.stdio; /*******************************************************/ @@ -916,4 +916,3 @@ 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 eee3930..b822cad 100644 --- a/gcc/testsuite/gdc.test/runnable/interpret.d +++ b/gcc/testsuite/gdc.test/runnable/interpret.d @@ -1,4 +1,4 @@ - +// RUNNABLE_PHOBOS_TEST import std.stdio; template Tuple(A...) @@ -3481,6 +3481,50 @@ void test15681() } /************************************************/ +// toPrec + +void testToPrec() +{ + import core.math; + + enum real ctpir = 0xc.90fdaa22168c235p-2; + enum double ctpid = 0x1.921fb54442d18p+1; + enum float ctpif = 0x1.921fb6p+1; + static assert(toPrec!float(ctpir) == ctpif); + static assert(toPrec!double(ctpir) == ctpid); + static assert(toPrec!real(ctpir) == ctpir); + static assert(toPrec!float(ctpid) == ctpif); + static assert(toPrec!double(ctpid) == ctpid); + static assert(toPrec!real(ctpid) == ctpid); + static assert(toPrec!float(ctpif) == ctpif); + static assert(toPrec!double(ctpif) == ctpif); + static assert(toPrec!real(ctpif) == ctpif); + + assert(toPrec!float(ctpir) == ctpif); + assert(toPrec!double(ctpir) == ctpid); + assert(toPrec!real(ctpir) == ctpir); + assert(toPrec!float(ctpid) == ctpif); + assert(toPrec!double(ctpid) == ctpid); + assert(toPrec!real(ctpid) == ctpid); + assert(toPrec!float(ctpif) == ctpif); + assert(toPrec!double(ctpif) == ctpif); + assert(toPrec!real(ctpif) == ctpif); + + static real rtpir = 0xc.90fdaa22168c235p-2; + static double rtpid = 0x1.921fb54442d18p+1; + static float rtpif = 0x1.921fb6p+1; + assert(toPrec!float(rtpir) == rtpif); + assert(toPrec!double(rtpir) == rtpid); + assert(toPrec!real(rtpir) == rtpir); + assert(toPrec!float(rtpid) == rtpif); + assert(toPrec!double(rtpid) == rtpid); + assert(toPrec!real(rtpid) == rtpid); + assert(toPrec!float(rtpif) == rtpif); + assert(toPrec!double(rtpif) == rtpif); + assert(toPrec!real(rtpif) == rtpif); +} + +/************************************************/ int main() { @@ -3609,4 +3653,3 @@ 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 8097e79..c28e63b 100644 --- a/gcc/testsuite/gdc.test/runnable/issue8671.d +++ b/gcc/testsuite/gdc.test/runnable/issue8671.d @@ -1,6 +1,6 @@ +// RUNNABLE_PHOBOS_TEST import std.random; 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 741877c..b9d0fd2 100644 --- a/gcc/testsuite/gdc.test/runnable/lazy.d +++ b/gcc/testsuite/gdc.test/runnable/lazy.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST import core.vararg; import std.stdio; @@ -308,4 +309,3 @@ 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 b240745..4d17d33 100644 --- a/gcc/testsuite/gdc.test/runnable/mars1.d +++ b/gcc/testsuite/gdc.test/runnable/mars1.d @@ -1,4 +1,5 @@ /* +RUNNABLE_PHOBOS_TEST REQUIRED_ARGS: -mcpu=native PERMUTE_ARGS: -O -inline */ @@ -1723,4 +1724,3 @@ 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 c16d943..9d88fbd 100644 --- a/gcc/testsuite/gdc.test/runnable/mixin1.d +++ b/gcc/testsuite/gdc.test/runnable/mixin1.d @@ -1,4 +1,4 @@ - +// RUNNABLE_PHOBOS_TEST module mixin1; import std.stdio; @@ -1468,4 +1468,3 @@ 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 53a64d5..3591d12 100644 --- a/gcc/testsuite/gdc.test/runnable/mixin2.d +++ b/gcc/testsuite/gdc.test/runnable/mixin2.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST import std.stdio; /*********************************************/ @@ -361,4 +362,3 @@ 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 4c969b4..29cfc96 100644 --- a/gcc/testsuite/gdc.test/runnable/s2ir.d +++ b/gcc/testsuite/gdc.test/runnable/s2ir.d @@ -1,4 +1,4 @@ - +// RUNNABLE_PHOBOS_TEST import std.stdio; /***********************************/ @@ -95,4 +95,3 @@ 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 1b7f645..b157253 100644 --- a/gcc/testsuite/gdc.test/runnable/stress.d +++ b/gcc/testsuite/gdc.test/runnable/stress.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: import core.stdc.stdio : printf; @@ -725,4 +726,3 @@ void CLASS() } } } -// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/template4.d b/gcc/testsuite/gdc.test/runnable/template4.d index 84792da..77d6254 100644 --- a/gcc/testsuite/gdc.test/runnable/template4.d +++ b/gcc/testsuite/gdc.test/runnable/template4.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST import std.stdio; import core.stdc.stdio; @@ -1164,4 +1165,3 @@ 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 0b11c6b..4f18295 100644 --- a/gcc/testsuite/gdc.test/runnable/template9.d +++ b/gcc/testsuite/gdc.test/runnable/template9.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: module breaker; @@ -4965,4 +4966,3 @@ 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 612158f..0d48946 100644 --- a/gcc/testsuite/gdc.test/runnable/test10942.d +++ b/gcc/testsuite/gdc.test/runnable/test10942.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // REQUIRED_ARGS: -g import std.string; @@ -24,4 +25,3 @@ 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 e62ea97..0d916c1 100644 --- a/gcc/testsuite/gdc.test/runnable/test11.d +++ b/gcc/testsuite/gdc.test/runnable/test11.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // REQUIRED_ARGS: extern(C) int printf(const char*, ...); @@ -1390,4 +1391,3 @@ 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 c196361..eb7e422 100644 --- a/gcc/testsuite/gdc.test/runnable/test12.d +++ b/gcc/testsuite/gdc.test/runnable/test12.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: -unittest -O -release -inline -fPIC -g extern(C) int printf(const char*, ...); @@ -1250,4 +1251,3 @@ 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 52d44c9..92a0bbd 100644 --- a/gcc/testsuite/gdc.test/runnable/test12197.d +++ b/gcc/testsuite/gdc.test/runnable/test12197.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // import std.math; void foo(T)(T[] b) @@ -10,4 +11,3 @@ 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 75cd11e..234f50b 100644 --- a/gcc/testsuite/gdc.test/runnable/test15.d +++ b/gcc/testsuite/gdc.test/runnable/test15.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // REQUIRED_ARGS: // EXTRA_FILES: extra-files/test15.txt @@ -1439,4 +1440,3 @@ 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 d15db1d..bd04878 100644 --- a/gcc/testsuite/gdc.test/runnable/test22.d +++ b/gcc/testsuite/gdc.test/runnable/test22.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // REQUIRED_ARGS: import std.math: poly; @@ -1306,4 +1307,3 @@ 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 dda2864..abf8e37 100644 --- a/gcc/testsuite/gdc.test/runnable/test23.d +++ b/gcc/testsuite/gdc.test/runnable/test23.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // REQUIRED_ARGS: module test; @@ -1566,4 +1567,3 @@ 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 cc6d668..2f31d75 100644 --- a/gcc/testsuite/gdc.test/runnable/test24.d +++ b/gcc/testsuite/gdc.test/runnable/test24.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // EXTRA_SOURCES: imports/test24a.d imports/test24b.d // PERMUTE_ARGS: // REQUIRED_ARGS: @@ -8,4 +9,3 @@ 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 3e5a462..a3e76ea 100644 --- a/gcc/testsuite/gdc.test/runnable/test27.d +++ b/gcc/testsuite/gdc.test/runnable/test27.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // COMPILE_SEPARATELY // EXTRA_SOURCES: imports/test27a.d // PERMUTE_ARGS: @@ -11,4 +12,3 @@ 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 1f7e7e8..5355c2c 100644 --- a/gcc/testsuite/gdc.test/runnable/test28.d +++ b/gcc/testsuite/gdc.test/runnable/test28.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST module test; import core.vararg; @@ -1318,4 +1319,3 @@ 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 e92f3d6..6e2b368 100644 --- a/gcc/testsuite/gdc.test/runnable/test34.d +++ b/gcc/testsuite/gdc.test/runnable/test34.d @@ -1,4 +1,4 @@ - +// RUNNABLE_PHOBOS_TEST module test34; import std.stdio; @@ -1292,4 +1292,3 @@ void main() } -// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/test37.d b/gcc/testsuite/gdc.test/runnable/test37.d index c28d30f..f4a4547 100644 --- a/gcc/testsuite/gdc.test/runnable/test37.d +++ b/gcc/testsuite/gdc.test/runnable/test37.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: // REQUIRED_ARGS: -Jrunnable/extra-files // EXTRA_FILES: extra-files/foo37.txt extra-files/std14198/uni.d @@ -11,4 +12,3 @@ 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 2bb0458..66b3c04 100644 --- a/gcc/testsuite/gdc.test/runnable/test42.d +++ b/gcc/testsuite/gdc.test/runnable/test42.d @@ -1,5 +1,5 @@ +// RUNNABLE_PHOBOS_TEST // REQUIRED_ARGS: -// module test42; @@ -6438,4 +6438,3 @@ 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 9102cba..ff52936 100644 --- a/gcc/testsuite/gdc.test/runnable/test5305.d +++ b/gcc/testsuite/gdc.test/runnable/test5305.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // https://issues.dlang.org/show_bug.cgi?id=5305 import std.math; @@ -5,4 +6,3 @@ 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 ab96732..cfd92b2 100644 --- a/gcc/testsuite/gdc.test/runnable/test60.d +++ b/gcc/testsuite/gdc.test/runnable/test60.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST import std.stdio; import std.algorithm; @@ -20,4 +21,3 @@ 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 6e28e89..75e8172 100644 --- a/gcc/testsuite/gdc.test/runnable/testaa.d +++ b/gcc/testsuite/gdc.test/runnable/testaa.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: -fPIC /* Test associative arrays */ @@ -1383,4 +1384,3 @@ 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 118388b..8a34f88 100644 --- a/gcc/testsuite/gdc.test/runnable/testbitarray.d +++ b/gcc/testsuite/gdc.test/runnable/testbitarray.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: import std.bitmanip; @@ -14,4 +15,3 @@ void main() { } -// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testdstress.d b/gcc/testsuite/gdc.test/runnable/testdstress.d index 097fc31..f06f939 100644 --- a/gcc/testsuite/gdc.test/runnable/testdstress.d +++ b/gcc/testsuite/gdc.test/runnable/testdstress.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: module dstress.run.module_01; @@ -930,4 +931,3 @@ 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 e7c3e19..6f56804 100644 --- a/gcc/testsuite/gdc.test/runnable/testfile.d +++ b/gcc/testsuite/gdc.test/runnable/testfile.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: import std.file; @@ -22,4 +23,3 @@ 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 2cb0da9..74f4095 100644 --- a/gcc/testsuite/gdc.test/runnable/testformat.d +++ b/gcc/testsuite/gdc.test/runnable/testformat.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: import std.stdio; @@ -123,4 +124,3 @@ 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 5001fc2..5b84204 100644 --- a/gcc/testsuite/gdc.test/runnable/testline.d +++ b/gcc/testsuite/gdc.test/runnable/testline.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: // $HeadURL$ @@ -41,4 +42,3 @@ 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 1ae98df..6a9d6e9 100644 --- a/gcc/testsuite/gdc.test/runnable/testmmfile.d +++ b/gcc/testsuite/gdc.test/runnable/testmmfile.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: // REQUIRED_ARGS: @@ -117,4 +118,3 @@ 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 cde02ab..6c96fb5 100644 --- a/gcc/testsuite/gdc.test/runnable/testscope2.d +++ b/gcc/testsuite/gdc.test/runnable/testscope2.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // REQUIRED_ARGS: -dip25 import core.stdc.stdio; @@ -246,4 +247,3 @@ 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 a43f892..c2fbcee 100644 --- a/gcc/testsuite/gdc.test/runnable/testsignals.d +++ b/gcc/testsuite/gdc.test/runnable/testsignals.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST import std.stdio; import std.signals; @@ -111,4 +112,3 @@ 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 00b757a..d061929 100644 --- a/gcc/testsuite/gdc.test/runnable/testsocket.d +++ b/gcc/testsuite/gdc.test/runnable/testsocket.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: import std.stdio; @@ -48,4 +49,3 @@ int main () } -// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/teststdio.d b/gcc/testsuite/gdc.test/runnable/teststdio.d index 854dcb5..d340f21 100644 --- a/gcc/testsuite/gdc.test/runnable/teststdio.d +++ b/gcc/testsuite/gdc.test/runnable/teststdio.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: // EXTRA_FILES: extra-files/teststdio.txt @@ -31,4 +32,3 @@ 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 0ec6e0d..93aace6 100644 --- a/gcc/testsuite/gdc.test/runnable/testthread2.d +++ b/gcc/testsuite/gdc.test/runnable/testthread2.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: import std.algorithm : map; @@ -106,4 +107,3 @@ void main() { } } -// RUNNABLE_PHOBOS_TEST diff --git a/gcc/testsuite/gdc.test/runnable/testtypeid.d b/gcc/testsuite/gdc.test/runnable/testtypeid.d index dcaac73..ebdda30 100644 --- a/gcc/testsuite/gdc.test/runnable/testtypeid.d +++ b/gcc/testsuite/gdc.test/runnable/testtypeid.d @@ -1,4 +1,4 @@ - +// RUNNABLE_PHOBOS_TEST import core.vararg; import std.stdio; @@ -684,4 +684,3 @@ 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 915f16d..547976f 100644 --- a/gcc/testsuite/gdc.test/runnable/traits.d +++ b/gcc/testsuite/gdc.test/runnable/traits.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: module traits; @@ -1606,4 +1607,3 @@ 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 e5fd98a..8f847c5 100644 --- a/gcc/testsuite/gdc.test/runnable/wc.d +++ b/gcc/testsuite/gdc.test/runnable/wc.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: // EXECUTE_ARGS: runnable/wc.d @@ -48,4 +49,3 @@ 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 780f5f1..a97c6fa 100644 --- a/gcc/testsuite/gdc.test/runnable/wc2.d +++ b/gcc/testsuite/gdc.test/runnable/wc2.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: // EXECUTE_ARGS: runnable/wc2.d @@ -72,4 +73,3 @@ 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 666bfb9..13beac2 100644 --- a/gcc/testsuite/gdc.test/runnable/wc3.d +++ b/gcc/testsuite/gdc.test/runnable/wc3.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: // EXECUTE_ARGS: runnable/extra-files/alice30.txt // EXTRA_FILES: extra-files/alice30.txt @@ -70,4 +71,3 @@ 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 e1cdbcd..8cba4ed 100644 --- a/gcc/testsuite/gdc.test/runnable/xtest46.d +++ b/gcc/testsuite/gdc.test/runnable/xtest46.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: -unittest -O -release -inline -fPIC -g import std.stdio; @@ -8283,4 +8284,3 @@ 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 1062a1a..4b295d8 100644 --- a/gcc/testsuite/gdc.test/runnable/xtest55.d +++ b/gcc/testsuite/gdc.test/runnable/xtest55.d @@ -1,3 +1,4 @@ +// RUNNABLE_PHOBOS_TEST // PERMUTE_ARGS: import core.memory, std.stdio; @@ -22,4 +23,3 @@ int main() return 0; } -// RUNNABLE_PHOBOS_TEST |