aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2020-04-25 02:19:04 +0200
committerIain Buclaw <ibuclaw@gdcproject.org>2020-04-25 02:19:04 +0200
commit018730326d878d98b85b1256ff220e76665ed97e (patch)
tree39976b0fbb3c7afa4583d54d0be78c63ec5ff351 /gcc
parent873878bb82443ce738f35b1ad3c9ef98f6aeb6da (diff)
downloadgcc-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')
-rw-r--r--gcc/d/ChangeLog6
-rw-r--r--gcc/d/dmd/MERGE2
-rw-r--r--gcc/d/intrinsics.cc22
-rw-r--r--gcc/d/intrinsics.def3
-rw-r--r--gcc/testsuite/gdc.test/compilable/interpret3.d16
-rw-r--r--gcc/testsuite/gdc.test/runnable/builtin.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/complex.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/constfold.d3
-rw-r--r--gcc/testsuite/gdc.test/runnable/foreach4.d3
-rw-r--r--gcc/testsuite/gdc.test/runnable/ifti.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/implicit.d3
-rw-r--r--gcc/testsuite/gdc.test/runnable/inner.d3
-rw-r--r--gcc/testsuite/gdc.test/runnable/interpret.d47
-rw-r--r--gcc/testsuite/gdc.test/runnable/issue8671.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/lazy.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/mars1.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/mixin1.d3
-rw-r--r--gcc/testsuite/gdc.test/runnable/mixin2.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/s2ir.d3
-rw-r--r--gcc/testsuite/gdc.test/runnable/stress.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/template4.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/template9.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test10942.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test11.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test12.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test12197.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test15.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test22.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test23.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test24.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test27.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test28.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test34.d3
-rw-r--r--gcc/testsuite/gdc.test/runnable/test37.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test42.d3
-rw-r--r--gcc/testsuite/gdc.test/runnable/test5305.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/test60.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/testaa.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/testbitarray.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/testdstress.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/testfile.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/testformat.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/testline.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/testmmfile.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/testscope2.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/testsignals.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/testsocket.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/teststdio.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/testthread2.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/testtypeid.d3
-rw-r--r--gcc/testsuite/gdc.test/runnable/traits.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/wc.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/wc2.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/wc3.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/xtest46.d2
-rw-r--r--gcc/testsuite/gdc.test/runnable/xtest55.d2
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