aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gdc.test/compilable
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gdc.test/compilable')
-rw-r--r--gcc/testsuite/gdc.test/compilable/Test16206.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/aliasassign.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/art4769.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/b21285.d34
-rw-r--r--gcc/testsuite/gdc.test/compilable/b33.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/b6395.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/b9490.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/betterCarray.d3
-rw-r--r--gcc/testsuite/gdc.test/compilable/betterCswitch.d3
-rw-r--r--gcc/testsuite/gdc.test/compilable/ccompile.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/cdcmp.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/const.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc1.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc11.d5
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc12706.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc12745.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc13.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc14.d3
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc2.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc2273.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc3.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc5.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc6.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc6491.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc7.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc9369.d3
-rw-r--r--gcc/testsuite/gdc.test/compilable/ddoc9475.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/dtoh_AnonDeclaration.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/dtoh_ClassDeclaration.d8
-rw-r--r--gcc/testsuite/gdc.test/compilable/dtoh_StructDeclaration.d6
-rw-r--r--gcc/testsuite/gdc.test/compilable/dtoh_VarDeclaration.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/dtoh_extern_type.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/dtoh_ignored.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/dtoh_mangling.d118
-rw-r--r--gcc/testsuite/gdc.test/compilable/extra-files/header1.d3
-rw-r--r--gcc/testsuite/gdc.test/compilable/fail137.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/fix17686.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/fix20416.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/fix21647.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/fix22291.d105
-rw-r--r--gcc/testsuite/gdc.test/compilable/ice20092.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/art4769a.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/art4769b.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/b33a.d3
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/b3682.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/defaa.d3
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/defab.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/imp16080.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/plainpackage/plainmodule.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test11563std_traits.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test16709c.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test16709d.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test4003a.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test50a.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test55a.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test62a.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test63a.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test67a.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test68a.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test9276decl.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test9276expr.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test9276parser.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test9276sem.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test9276type.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test9276util.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/test9276visitors.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/imports/wax16798.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/isreturnonstack.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/issue15478.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/issue21813b.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/json.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/line.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/mixintype.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test10073.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test1238.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test12527.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test13193.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test13194.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test13600.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test13858.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test15019.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test15389_y.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test15464.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/test15565.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test15578.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test15762.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test15898.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test16037.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/test16080.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test16225.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test16798.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test17057.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test17421.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test17468.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test17512.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test17942.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test18020.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/test18584.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test18936.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test19203.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test19227.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test20596.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/test20653.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test20717.d17
-rw-r--r--gcc/testsuite/gdc.test/compilable/test20906.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test20990.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test22639.d26
-rw-r--r--gcc/testsuite/gdc.test/compilable/test22665.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/test22825.d4
-rw-r--r--gcc/testsuite/gdc.test/compilable/test22859.d40
-rw-r--r--gcc/testsuite/gdc.test/compilable/test22860.d62
-rw-r--r--gcc/testsuite/gdc.test/compilable/test22919.d17
-rw-r--r--gcc/testsuite/gdc.test/compilable/test3775.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/test4003.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test4375.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test50.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/test5227.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/test602.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test6089.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test63.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test6395.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test66.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test67.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test68.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test7399.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test8296.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/test8922b.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test8922d.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/test9057.d2
-rw-r--r--gcc/testsuite/gdc.test/compilable/test9436.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/testAliasLookup.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/testInference.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/testprofile.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/testsctreturn.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/typeid_name.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/vcg-ast.d1
-rw-r--r--gcc/testsuite/gdc.test/compilable/version.d2
137 files changed, 447 insertions, 158 deletions
diff --git a/gcc/testsuite/gdc.test/compilable/Test16206.d b/gcc/testsuite/gdc.test/compilable/Test16206.d
index 0b9ccf3..c52c710 100644
--- a/gcc/testsuite/gdc.test/compilable/Test16206.d
+++ b/gcc/testsuite/gdc.test/compilable/Test16206.d
@@ -25,4 +25,4 @@ static assert(S.foo!([]) == 0);
alias fooFuns = AliasSeq!(__traits(getOverloads, S, "foo"));
static assert(fooFuns.length == 1);
-static assert(fooFuns[0]("") == 2); \ No newline at end of file
+static assert(fooFuns[0]("") == 2);
diff --git a/gcc/testsuite/gdc.test/compilable/aliasassign.d b/gcc/testsuite/gdc.test/compilable/aliasassign.d
index e355e49..a29836e 100644
--- a/gcc/testsuite/gdc.test/compilable/aliasassign.d
+++ b/gcc/testsuite/gdc.test/compilable/aliasassign.d
@@ -38,4 +38,3 @@ alias TK2 = reverse!(int, const uint, X2);
static assert(TK2[0] == 3);
static assert(is(TK2[1] == const(uint)));
static assert(is(TK2[2] == int));
-
diff --git a/gcc/testsuite/gdc.test/compilable/art4769.d b/gcc/testsuite/gdc.test/compilable/art4769.d
index dfffe77..0629606 100644
--- a/gcc/testsuite/gdc.test/compilable/art4769.d
+++ b/gcc/testsuite/gdc.test/compilable/art4769.d
@@ -16,4 +16,3 @@ struct Vector(T)
{
}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/b21285.d b/gcc/testsuite/gdc.test/compilable/b21285.d
index 482faa7..fb14fee 100644
--- a/gcc/testsuite/gdc.test/compilable/b21285.d
+++ b/gcc/testsuite/gdc.test/compilable/b21285.d
@@ -1,4 +1,5 @@
// REQUIRED_ARGS: -unittest
+// PERMUTE_ARGS: -preview=dip1000
// Issue 21285 - Delegate covariance broken between 2.092 and 2.094 (git master).
unittest
{
@@ -25,3 +26,36 @@ unittest
static assert(is(typeof(a[0]) == dg));
static assert(is(typeof(ab[0]) == fn));
}
+
+int f(string s) { throw new Exception(""); }
+void main()
+{
+ string path;
+ int bank, preset;
+ void delegate(string value)[string] aa = [
+ "path": (string arg) {
+ path = arg;
+ },
+ "bank": (string arg) {
+ bank = f(arg);
+ },
+ "preset": (string arg) {
+ preset = f(arg);
+ },
+ ];
+
+ string delegate(string value)[string] aa2 = [
+ "path": (string arg) {
+ path = arg;
+ return arg;
+ },
+ "bank": (string arg) {
+ bank = f(arg);
+ return arg;
+ },
+ "preset": (string arg) {
+ preset = f(arg);
+ return arg;
+ },
+ ];
+}
diff --git a/gcc/testsuite/gdc.test/compilable/b33.d b/gcc/testsuite/gdc.test/compilable/b33.d
index cba6fe2..72452b6 100644
--- a/gcc/testsuite/gdc.test/compilable/b33.d
+++ b/gcc/testsuite/gdc.test/compilable/b33.d
@@ -9,4 +9,3 @@ size_t fn()
{
return find( "123" );
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/b6395.d b/gcc/testsuite/gdc.test/compilable/b6395.d
index 94f4bc3..3910ffa 100644
--- a/gcc/testsuite/gdc.test/compilable/b6395.d
+++ b/gcc/testsuite/gdc.test/compilable/b6395.d
@@ -22,4 +22,3 @@ void applyNoRemoveRegex()
auto a = find!((a){return match(e);})(map!regex(noRemoveStr));
}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/b9490.d b/gcc/testsuite/gdc.test/compilable/b9490.d
index d0148b1..433163d 100644
--- a/gcc/testsuite/gdc.test/compilable/b9490.d
+++ b/gcc/testsuite/gdc.test/compilable/b9490.d
@@ -36,4 +36,3 @@ void main()
f(s1.s.tupleof); // OK
f((s1.s).tupleof); // Error: need 'this' to access member s
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/betterCarray.d b/gcc/testsuite/gdc.test/compilable/betterCarray.d
index 3f48b04..3e9a881 100644
--- a/gcc/testsuite/gdc.test/compilable/betterCarray.d
+++ b/gcc/testsuite/gdc.test/compilable/betterCarray.d
@@ -4,7 +4,8 @@
import core.stdc.stdio;
-extern (C) int main(char** argv, int argc) {
+extern (C) int main()
+{
printf("hello world\n");
int[3] a;
foo(a[], 3);
diff --git a/gcc/testsuite/gdc.test/compilable/betterCswitch.d b/gcc/testsuite/gdc.test/compilable/betterCswitch.d
index ab0fb0a..a140ea9 100644
--- a/gcc/testsuite/gdc.test/compilable/betterCswitch.d
+++ b/gcc/testsuite/gdc.test/compilable/betterCswitch.d
@@ -1,6 +1,7 @@
import core.stdc.stdio;
-extern (C) int main(char** argv, int argc) {
+extern (C) int main()
+{
printf("hello world\n");
foo(3);
return 0;
diff --git a/gcc/testsuite/gdc.test/compilable/ccompile.d b/gcc/testsuite/gdc.test/compilable/ccompile.d
index 22c749c..cb6e3de 100644
--- a/gcc/testsuite/gdc.test/compilable/ccompile.d
+++ b/gcc/testsuite/gdc.test/compilable/ccompile.d
@@ -32,5 +32,3 @@ void funchds(char *p_adults)
}
}
}
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/cdcmp.d b/gcc/testsuite/gdc.test/compilable/cdcmp.d
index 4248818..305f097b 100644
--- a/gcc/testsuite/gdc.test/compilable/cdcmp.d
+++ b/gcc/testsuite/gdc.test/compilable/cdcmp.d
@@ -145,4 +145,3 @@ bool test_eq(double x, double y) { return x == y; }
bool test_ne(double x, double y) { return x != y; }
bool test_ge(double x, double y) { return x >= y; }
bool test_gt(double x, double y) { return x > y; }
-
diff --git a/gcc/testsuite/gdc.test/compilable/const.d b/gcc/testsuite/gdc.test/compilable/const.d
index 9b97037..dc3d471 100644
--- a/gcc/testsuite/gdc.test/compilable/const.d
+++ b/gcc/testsuite/gdc.test/compilable/const.d
@@ -37,5 +37,3 @@ static assert(6.0 % 4.0 == 2);
static assert(6.0i % 2.0i == 0);
static assert(6.0i % 3.0i == 0);
static assert(6.0i % 4.0i == 2i);
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc1.d b/gcc/testsuite/gdc.test/compilable/ddoc1.d
index 23e721d..0a27eda 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc1.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc1.d
@@ -47,7 +47,7 @@ wchar YY; /// ditto
* argulid = the argument
* u = the other argument
*/
-int foo(char c, int argulid, char u);
+int foo(char c, int argulid, char u = '\'', wchar v = '\u7233', dchar y = '\U00017233');
int barr() { return 3; } /// doc for barr()
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc11.d b/gcc/testsuite/gdc.test/compilable/ddoc11.d
index 0082455..683cd5f 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc11.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc11.d
@@ -62,8 +62,3 @@ private:
void test1()
{
}
-
-
-
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc12706.d b/gcc/testsuite/gdc.test/compilable/ddoc12706.d
index a19ba21..a0c9b3f 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc12706.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc12706.d
@@ -6,4 +6,3 @@
void test()(string[] args) if (args[$])
{
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc12745.d b/gcc/testsuite/gdc.test/compilable/ddoc12745.d
index a2cf74b..c4bd7fb 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc12745.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc12745.d
@@ -22,4 +22,4 @@ $(BR)
1__a $(BR)
2__b
*/
-int i; \ No newline at end of file
+int i;
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc13.d b/gcc/testsuite/gdc.test/compilable/ddoc13.d
index 9985bb0..cc69a25 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc13.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc13.d
@@ -23,4 +23,3 @@ struct Bug4107b(T) {
}
}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc14.d b/gcc/testsuite/gdc.test/compilable/ddoc14.d
index fae99d4..ed71d05 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc14.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc14.d
@@ -92,6 +92,3 @@ pure nothrow auto mAutoPrefix(ref P p) { return p; } /// 7
auto mAutoTemplateSuffix(alias T)(ref T t) pure nothrow { return p; } /// 9
pure nothrow:
V mColon(lazy P p) {} /// 10
-
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc2.d b/gcc/testsuite/gdc.test/compilable/ddoc2.d
index 2a7e457..5a56141 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc2.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc2.d
@@ -39,4 +39,3 @@ class StreamException: Exception {
/********** stars ***************/
int stars;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc2273.d b/gcc/testsuite/gdc.test/compilable/ddoc2273.d
index ec3b74a..4a1b075 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc2273.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc2273.d
@@ -34,4 +34,3 @@ template staticIndexOf(T, TList...) { alias int staticIndexOf; }
alias staticIndexOf IndexOf;
void main() { }
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc3.d b/gcc/testsuite/gdc.test/compilable/ddoc3.d
index 3b47497..ad4c214 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc3.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc3.d
@@ -68,4 +68,3 @@ class StreamException: Exception {
/********** stars ***************/
int stars;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc5.d b/gcc/testsuite/gdc.test/compilable/ddoc5.d
index 5a964f3..d0b5655 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc5.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc5.d
@@ -28,4 +28,3 @@ class TestMembers(TemplateArg)
void main()
{
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc6.d b/gcc/testsuite/gdc.test/compilable/ddoc6.d
index 69bd64a..a229dc5 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc6.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc6.d
@@ -22,4 +22,3 @@ void main()
C:\code\d\bugs>dmd -D -o- 148_1.d
148_1.d(6): Error: static if conditional cannot be at global scope
+/
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc6491.d b/gcc/testsuite/gdc.test/compilable/ddoc6491.d
index 5fe37a3..cf93399 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc6491.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc6491.d
@@ -10,5 +10,3 @@ enum int c6491 = 4;
/// test
void bug6491a(int a = ddoc6491.c6491, string b = core.cpuid.vendor);
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc7.d b/gcc/testsuite/gdc.test/compilable/ddoc7.d
index 9c28d1b..eba3680 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc7.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc7.d
@@ -56,4 +56,3 @@ class C
/// Some doc
abstract void foo();
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc9369.d b/gcc/testsuite/gdc.test/compilable/ddoc9369.d
index ba44891..30b4c11 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc9369.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc9369.d
@@ -13,6 +13,3 @@ writeln(&a);
---
*/
void foo() { }
-
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/ddoc9475.d b/gcc/testsuite/gdc.test/compilable/ddoc9475.d
index 262fa7d..396bdb1 100644
--- a/gcc/testsuite/gdc.test/compilable/ddoc9475.d
+++ b/gcc/testsuite/gdc.test/compilable/ddoc9475.d
@@ -26,4 +26,3 @@ unittest
{
// bar comment
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/dtoh_AnonDeclaration.d b/gcc/testsuite/gdc.test/compilable/dtoh_AnonDeclaration.d
index bcf5558..9d68631 100644
--- a/gcc/testsuite/gdc.test/compilable/dtoh_AnonDeclaration.d
+++ b/gcc/testsuite/gdc.test/compilable/dtoh_AnonDeclaration.d
@@ -50,7 +50,6 @@ struct S final
{
int32_t y;
double z;
- extern "C" void foo();
void bar();
};
struct
diff --git a/gcc/testsuite/gdc.test/compilable/dtoh_ClassDeclaration.d b/gcc/testsuite/gdc.test/compilable/dtoh_ClassDeclaration.d
index 6274e9f..4f13d2b 100644
--- a/gcc/testsuite/gdc.test/compilable/dtoh_ClassDeclaration.d
+++ b/gcc/testsuite/gdc.test/compilable/dtoh_ClassDeclaration.d
@@ -82,7 +82,9 @@ public:
int32_t a;
C* c;
virtual void foo();
- extern "C" virtual void bar();
+private:
+ virtual void __vtable_slot_0();
+public:
virtual void baz(int32_t x = 42);
struct
{
@@ -116,7 +118,7 @@ public:
{
public:
int32_t x;
- A* this;
+ A* outer;
};
typedef Inner I;
@@ -146,8 +148,8 @@ public:
class Parent
{
- virtual void __vtable_slot_0();
virtual void __vtable_slot_1();
+ virtual void __vtable_slot_2();
public:
virtual void foo();
};
diff --git a/gcc/testsuite/gdc.test/compilable/dtoh_StructDeclaration.d b/gcc/testsuite/gdc.test/compilable/dtoh_StructDeclaration.d
index 2d48999..4d56c7c 100644
--- a/gcc/testsuite/gdc.test/compilable/dtoh_StructDeclaration.d
+++ b/gcc/testsuite/gdc.test/compilable/dtoh_StructDeclaration.d
@@ -45,6 +45,9 @@ struct S final
int32_t b;
int64_t c;
_d_dynamicArray< int32_t > arr;
+private:
+ ~S();
+public:
S() :
a(),
b(),
@@ -81,7 +84,6 @@ struct S3 final
int32_t a;
int32_t b;
int64_t c;
- extern "C" S3(int32_t a);
S3() :
a(42),
b(),
@@ -143,7 +145,6 @@ struct A final
{
int32_t a;
S s;
- extern "C" void bar();
void baz(int32_t x = 42);
struct
{
@@ -232,6 +233,7 @@ extern (C++) struct S
int b;
long c;
int[] arr;
+ extern(D) ~this() {}
}
extern (C++) struct S2
diff --git a/gcc/testsuite/gdc.test/compilable/dtoh_VarDeclaration.d b/gcc/testsuite/gdc.test/compilable/dtoh_VarDeclaration.d
index f9e57f9..7356ba3 100644
--- a/gcc/testsuite/gdc.test/compilable/dtoh_VarDeclaration.d
+++ b/gcc/testsuite/gdc.test/compilable/dtoh_VarDeclaration.d
@@ -39,7 +39,7 @@ struct _d_dynamicArray final
};
#endif
#if !defined(_d_real)
-# define _d_real long double
+#define _d_real long double
#endif
extern "C" int32_t z;
diff --git a/gcc/testsuite/gdc.test/compilable/dtoh_extern_type.d b/gcc/testsuite/gdc.test/compilable/dtoh_extern_type.d
index 91641a6..0426a5e 100644
--- a/gcc/testsuite/gdc.test/compilable/dtoh_extern_type.d
+++ b/gcc/testsuite/gdc.test/compilable/dtoh_extern_type.d
@@ -40,7 +40,7 @@ struct _d_dynamicArray final
};
#endif
#if !defined(_d_real)
-# define _d_real long double
+#define _d_real long double
#endif
class ClassFromStruct final
diff --git a/gcc/testsuite/gdc.test/compilable/dtoh_ignored.d b/gcc/testsuite/gdc.test/compilable/dtoh_ignored.d
index 1e1b887..d687673 100644
--- a/gcc/testsuite/gdc.test/compilable/dtoh_ignored.d
+++ b/gcc/testsuite/gdc.test/compilable/dtoh_ignored.d
@@ -39,7 +39,7 @@ struct _d_dynamicArray final
};
#endif
#if !defined(_d_real)
-# define _d_real long double
+#define _d_real long double
#endif
class WithImaginary
diff --git a/gcc/testsuite/gdc.test/compilable/dtoh_mangling.d b/gcc/testsuite/gdc.test/compilable/dtoh_mangling.d
new file mode 100644
index 0000000..44d0dd5
--- /dev/null
+++ b/gcc/testsuite/gdc.test/compilable/dtoh_mangling.d
@@ -0,0 +1,118 @@
+/++
+REQUIRED_ARGS: -HC=verbose
+TEST_OUTPUT:
+---
+// Automatically generated by Digital Mars D Compiler v$n$
+
+#pragma once
+
+#include <assert.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <math.h>
+
+#ifdef CUSTOM_D_ARRAY_TYPE
+#define _d_dynamicArray CUSTOM_D_ARRAY_TYPE
+#else
+/// Represents a D [] array
+template<typename T>
+struct _d_dynamicArray final
+{
+ size_t length;
+ T *ptr;
+
+ _d_dynamicArray() : length(0), ptr(NULL) { }
+
+ _d_dynamicArray(size_t length_in, T *ptr_in)
+ : length(length_in), ptr(ptr_in) { }
+
+ T& operator[](const size_t idx) {
+ assert(idx < length);
+ return ptr[idx];
+ }
+
+ const T& operator[](const size_t idx) const {
+ assert(idx < length);
+ return ptr[idx];
+ }
+};
+#endif
+
+extern "C" int32_t freeC();
+
+// Ignored function dtoh_mangling.bar because C++ doesn't support explicit mangling
+struct Data final
+{
+ // Ignored function dtoh_mangling.Data.foo because of linkage
+ // Ignored function dtoh_mangling.Data.bar because C++ doesn't support explicit mangling
+ Data()
+ {
+ }
+};
+
+extern void accept(Data data);
+
+extern "C" void hasDefault(int32_t i = freeC());
+
+extern "C" void hasDefaultMember(int32_t i = memberC());
+
+extern "C" int32_t someVarC;
+
+// Ignored variable dtoh_mangling.var2 because C++ doesn't support explicit mangling
+struct HasMangleMember final
+{
+ int32_t someAttrC;
+ int32_t someAttrCpp;
+ void hasDefaultVar(int32_t i = someAttrC);
+ HasMangleMember()
+ {
+ }
+};
+
+extern "C" void hasDefaultVar(int32_t i = someVarC);
+---
+++/
+
+extern(C):
+
+pragma(mangle, "freeC")
+int foo() { return 0; }
+
+pragma(mangle, "freeCpp")
+extern (C++) void bar() {}
+
+pragma(mangle, "Aggregate")
+struct Data
+{
+ pragma(mangle, "memberC")
+ static int foo() { return 0; }
+
+ pragma(mangle, "memberCpp")
+ extern (C++) void bar() {}
+}
+
+extern(C++)
+void accept(Data data) {}
+
+void hasDefault(int i = foo()) {}
+
+void hasDefaultMember(int i = Data.foo()) {}
+
+pragma(mangle, "someVarC")
+__gshared int var;
+
+pragma(mangle, "someVarCpp")
+extern(C++) __gshared int var2;
+
+struct HasMangleMember
+{
+ pragma(mangle, "someAttrC")
+ int var;
+
+ pragma(mangle, "someAttrCpp")
+ extern(C++) int var2;
+
+ extern(C++) void hasDefaultVar(int i = var) {}
+}
+
+void hasDefaultVar(int i = var) {}
diff --git a/gcc/testsuite/gdc.test/compilable/extra-files/header1.d b/gcc/testsuite/gdc.test/compilable/extra-files/header1.d
index 01cf889..3c2e90a 100644
--- a/gcc/testsuite/gdc.test/compilable/extra-files/header1.d
+++ b/gcc/testsuite/gdc.test/compilable/extra-files/header1.d
@@ -577,7 +577,8 @@ struct SafeS
ref SafeS foo3() return scope
{
- return this;
+ static SafeS s;
+ return s;
}
int* p;
diff --git a/gcc/testsuite/gdc.test/compilable/fail137.d b/gcc/testsuite/gdc.test/compilable/fail137.d
index c6876d1..1d49be6 100644
--- a/gcc/testsuite/gdc.test/compilable/fail137.d
+++ b/gcc/testsuite/gdc.test/compilable/fail137.d
@@ -23,4 +23,3 @@ void main()
TypeTuple!(int, long) T;
printf( "%u\n", cast(uint)IndexOf!(long, T) );
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/fix17686.d b/gcc/testsuite/gdc.test/compilable/fix17686.d
index db82252..76730ed 100644
--- a/gcc/testsuite/gdc.test/compilable/fix17686.d
+++ b/gcc/testsuite/gdc.test/compilable/fix17686.d
@@ -42,4 +42,3 @@ void main()
{
alias aaa = DOMImplementation!string;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/fix20416.d b/gcc/testsuite/gdc.test/compilable/fix20416.d
index 19ad74d..341eec3 100644
--- a/gcc/testsuite/gdc.test/compilable/fix20416.d
+++ b/gcc/testsuite/gdc.test/compilable/fix20416.d
@@ -33,4 +33,3 @@ S bar2()
S result;
return result.foo();
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/fix21647.d b/gcc/testsuite/gdc.test/compilable/fix21647.d
index c1e1c48..58f1440 100644
--- a/gcc/testsuite/gdc.test/compilable/fix21647.d
+++ b/gcc/testsuite/gdc.test/compilable/fix21647.d
@@ -35,4 +35,3 @@ pragma(msg, V);
struct G {}
struct F(T) { void f(ref T) {} }
pragma(msg, F!G().f(G.init));
-
diff --git a/gcc/testsuite/gdc.test/compilable/fix22291.d b/gcc/testsuite/gdc.test/compilable/fix22291.d
index 4090c5e..36baef5 100644
--- a/gcc/testsuite/gdc.test/compilable/fix22291.d
+++ b/gcc/testsuite/gdc.test/compilable/fix22291.d
@@ -20,6 +20,33 @@ int echoPlusOne(int x)
return x;
}
static assert(echoPlusOne(1) == 2);
+
+void nesting(double d, int i)
+{
+ alias EXP = AliasSeq!(d, i);
+
+ if (d)
+ {
+ static assert(__traits(isSame, __traits(parameters), EXP));
+
+ while (d)
+ {
+ static assert(__traits(isSame, __traits(parameters), EXP));
+ switch (i)
+ {
+ static assert(__traits(isSame, __traits(parameters), EXP));
+ case 1:
+ static assert(__traits(isSame, __traits(parameters), EXP));
+ break;
+
+ default:
+ static assert(__traits(isSame, __traits(parameters), EXP));
+ break;
+ }
+ }
+ }
+}
+
class Tree {
int opApply(int delegate(size_t, Tree) dg) {
if (dg(0, this)) return 1;
@@ -34,7 +61,22 @@ void useOpApply(Tree top, int x)
}
foreach(idx, elem; top)
{
- static assert(is(typeof(__traits(parameters)) == AliasSeq!(size_t, Tree)));
+ static assert(is(typeof(__traits(parameters)) == AliasSeq!(Tree, int)));
+ }
+
+ foreach(idx, elem; top)
+ {
+ foreach (idx2, elem2; elem)
+ static assert(is(typeof(__traits(parameters)) == AliasSeq!(Tree, int)));
+ }
+
+ foreach(idx, elem; top)
+ {
+ static void foo(char[] text)
+ {
+ foreach (const char c; text)
+ static assert(is(typeof(__traits(parameters)) == AliasSeq!(char[])));
+ }
}
}
class Test
@@ -132,3 +174,64 @@ T testTemplate(T)(scope T input)
static assert(testTemplate!long(420) == 0);
+void qualifiers(immutable int a, const bool b)
+{
+ static assert(is(typeof(__traits(parameters)) == AliasSeq!(immutable int, const bool)));
+}
+
+int makeAggregate(int a, bool b)
+{
+ struct S
+ {
+ typeof(__traits(parameters)) members;
+ }
+
+ S s = S(__traits(parameters));
+ assert(s.members[0] == a);
+ assert(s.members[1] == b);
+ return 1;
+}
+
+static assert(makeAggregate(5, true));
+
+int makeAlias(int a, bool b)
+{
+ alias Params = __traits(parameters);
+ assert(Params[0] == 3);
+ assert(Params[1] == true);
+ return 1;
+}
+
+static assert(makeAlias(3, true));
+
+
+mixin template nestedCheckParameters(int unique)
+{
+ alias NestedNames = __traits(parameters);
+ version (Fixed)
+ alias Types = typeof(Names);
+}
+
+mixin template checkParameters(int unique)
+{
+ mixin nestedCheckParameters!unique;
+
+ alias Names = __traits(parameters);
+ alias Types = typeof(Names);
+}
+
+int makeAggregateMixin(immutable int a, const bool b)
+{
+ mixin checkParameters!0;
+
+ struct S
+ {
+ mixin checkParameters!1;
+ typeof(Names) members;
+ }
+
+ S s = S(Names);
+ assert(s.members[0] == a);
+ assert(s.members[1] == b);
+ return 1;
+}
diff --git a/gcc/testsuite/gdc.test/compilable/ice20092.d b/gcc/testsuite/gdc.test/compilable/ice20092.d
index ff2be37..5deef96 100644
--- a/gcc/testsuite/gdc.test/compilable/ice20092.d
+++ b/gcc/testsuite/gdc.test/compilable/ice20092.d
@@ -7,4 +7,3 @@ void front(T)(T[] a)
{
static assert(is(T == void));
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/art4769a.d b/gcc/testsuite/gdc.test/compilable/imports/art4769a.d
index 7c994e6..e7f59ec 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/art4769a.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/art4769a.d
@@ -12,4 +12,3 @@ template DataStreamability(T)
printf("hallo\n");
}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/art4769b.d b/gcc/testsuite/gdc.test/compilable/imports/art4769b.d
index e43b2f2..a94f837 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/art4769b.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/art4769b.d
@@ -6,4 +6,3 @@ int main(char [][] args)
Vector!(wchar) str;
return 0;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/b33a.d b/gcc/testsuite/gdc.test/compilable/imports/b33a.d
index bd8fd0c..dc5f094 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/b33a.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/b33a.d
@@ -23,6 +23,3 @@ template find()
return find_!(char).fn( buf );
}
}
-
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/b3682.d b/gcc/testsuite/gdc.test/compilable/imports/b3682.d
index f554e12..ab0a09a 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/b3682.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/b3682.d
@@ -2,4 +2,3 @@ module imports.b3682;
import a3682;
alias Tuple!(int) tint;
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/defaa.d b/gcc/testsuite/gdc.test/compilable/imports/defaa.d
index c35167c..e0be575 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/defaa.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/defaa.d
@@ -10,6 +10,3 @@ class Display
this() { }
}
-
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/defab.d b/gcc/testsuite/gdc.test/compilable/imports/defab.d
index 84b9209..901dbd2 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/defab.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/defab.d
@@ -12,4 +12,3 @@ public class B : A
this() {}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/imp16080.d b/gcc/testsuite/gdc.test/compilable/imports/imp16080.d
index 1afd9b5..9a8ca47 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/imp16080.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/imp16080.d
@@ -1,4 +1,3 @@
struct A() {
static immutable A a;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/plainpackage/plainmodule.d b/gcc/testsuite/gdc.test/compilable/imports/plainpackage/plainmodule.d
index 9e9933b..3befca4 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/plainpackage/plainmodule.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/plainpackage/plainmodule.d
@@ -1,4 +1,3 @@
/// Used to test is(x == module)
module imports.plainpackage.plainmodule;
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test11563std_traits.d b/gcc/testsuite/gdc.test/compilable/imports/test11563std_traits.d
index 0ee4643..807c6e7 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test11563std_traits.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test11563std_traits.d
@@ -19,4 +19,3 @@ template moduleName(alias T)
enum moduleName = "--error--";
}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test16709c.d b/gcc/testsuite/gdc.test/compilable/imports/test16709c.d
index 1b45163..c5599fd 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test16709c.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test16709c.d
@@ -1,2 +1 @@
void to(string units, D)(D td) { }
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test16709d.d b/gcc/testsuite/gdc.test/compilable/imports/test16709d.d
index 9f928af..922f59e 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test16709d.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test16709d.d
@@ -1,2 +1 @@
void to(T, D)(D td) { }
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test4003a.d b/gcc/testsuite/gdc.test/compilable/imports/test4003a.d
index a05a16d..827a56e7 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test4003a.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test4003a.d
@@ -3,4 +3,3 @@ module imports.test4003a;
import imports.typecons4003;
Tuple!(string) t;
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test50a.d b/gcc/testsuite/gdc.test/compilable/imports/test50a.d
index da5bf36..9ec43dd 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test50a.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test50a.d
@@ -3,4 +3,3 @@ module imports.test50a;
class Foo {
protected int a;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test55a.d b/gcc/testsuite/gdc.test/compilable/imports/test55a.d
index e6fa224..399e850 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test55a.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test55a.d
@@ -11,4 +11,3 @@ class Arm2 {
alias int ListHead;
Queue2.ListHead mqueue;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test62a.d b/gcc/testsuite/gdc.test/compilable/imports/test62a.d
index 7179f3a..36c838d 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test62a.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test62a.d
@@ -11,5 +11,3 @@ struct T()
}
alias T!() instance;
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test63a.d b/gcc/testsuite/gdc.test/compilable/imports/test63a.d
index d53b034..c60d8b4 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test63a.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test63a.d
@@ -7,4 +7,3 @@ struct s {
char[SIZE] a;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test67a.d b/gcc/testsuite/gdc.test/compilable/imports/test67a.d
index 796ab80..15fd644 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test67a.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test67a.d
@@ -15,5 +15,3 @@ class Derived : Base
return null;
}
}
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test68a.d b/gcc/testsuite/gdc.test/compilable/imports/test68a.d
index 7e44f3e..c7176f0 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test68a.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test68a.d
@@ -6,4 +6,3 @@ class OtherModuleClass
{
}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test9276decl.d b/gcc/testsuite/gdc.test/compilable/imports/test9276decl.d
index 0f507bc..c774616 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test9276decl.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test9276decl.d
@@ -11,4 +11,3 @@ class TemplateDecl : OverloadableDecl
{
mixin Visitors;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test9276expr.d b/gcc/testsuite/gdc.test/compilable/imports/test9276expr.d
index 376d6a4..72e5e2e 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test9276expr.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test9276expr.d
@@ -12,4 +12,3 @@ class Node
class Expression : Node
{
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test9276parser.d b/gcc/testsuite/gdc.test/compilable/imports/test9276parser.d
index 5e307ee..8b9473e 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test9276parser.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test9276parser.d
@@ -1,4 +1,3 @@
module imports.test9276parser;
public import imports.test9276expr, imports.test9276decl;
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test9276sem.d b/gcc/testsuite/gdc.test/compilable/imports/test9276sem.d
index 3b660f4..0631683 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test9276sem.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test9276sem.d
@@ -22,4 +22,3 @@ import imports.test9276visitors;
class OverloadableDecl : Declaration
{
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test9276type.d b/gcc/testsuite/gdc.test/compilable/imports/test9276type.d
index 8a2cb3c..ede9261 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test9276type.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test9276type.d
@@ -9,4 +9,3 @@ class Type : Expression // <- note to Walter.
class BasicType : Type
{
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test9276util.d b/gcc/testsuite/gdc.test/compilable/imports/test9276util.d
index f3a95d9..22acb3e 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test9276util.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test9276util.d
@@ -10,4 +10,3 @@ template DownCastMethods(T...)
{
enum x = _dgliteral!T;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test9276visitors.d b/gcc/testsuite/gdc.test/compilable/imports/test9276visitors.d
index e2d507c..8165104 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/test9276visitors.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/test9276visitors.d
@@ -13,4 +13,3 @@ template DeepDup(T) if (is(T : BasicType))
template DeepDup(T)
{}
-
diff --git a/gcc/testsuite/gdc.test/compilable/imports/wax16798.d b/gcc/testsuite/gdc.test/compilable/imports/wax16798.d
index af98706..268038c 100644
--- a/gcc/testsuite/gdc.test/compilable/imports/wax16798.d
+++ b/gcc/testsuite/gdc.test/compilable/imports/wax16798.d
@@ -1,4 +1,3 @@
module its.a.floorwax.wax16798;
pragma(msg, "it's a floor wax");
-
diff --git a/gcc/testsuite/gdc.test/compilable/isreturnonstack.d b/gcc/testsuite/gdc.test/compilable/isreturnonstack.d
index 920f0ec..d41f123 100644
--- a/gcc/testsuite/gdc.test/compilable/isreturnonstack.d
+++ b/gcc/testsuite/gdc.test/compilable/isreturnonstack.d
@@ -5,4 +5,3 @@ S test2();
static assert(__traits(isReturnOnStack, test1) == false);
static assert(__traits(isReturnOnStack, test2) == true);
-
diff --git a/gcc/testsuite/gdc.test/compilable/issue15478.d b/gcc/testsuite/gdc.test/compilable/issue15478.d
index ad24e7f..7bc16c8 100644
--- a/gcc/testsuite/gdc.test/compilable/issue15478.d
+++ b/gcc/testsuite/gdc.test/compilable/issue15478.d
@@ -52,4 +52,3 @@ void test15478_3()
enum foo_bug = foo.bug;
Foo15478!int[foo_bug] baz; // OK
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/issue21813b.d b/gcc/testsuite/gdc.test/compilable/issue21813b.d
index 0af986b..cdc9077 100644
--- a/gcc/testsuite/gdc.test/compilable/issue21813b.d
+++ b/gcc/testsuite/gdc.test/compilable/issue21813b.d
@@ -10,4 +10,3 @@ struct Target
OS os = defaultTargetOS();
@property isPOSIX() scope @nogc { }
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/json.d b/gcc/testsuite/gdc.test/compilable/json.d
index f79639d..73d3101 100644
--- a/gcc/testsuite/gdc.test/compilable/json.d
+++ b/gcc/testsuite/gdc.test/compilable/json.d
@@ -191,7 +191,7 @@ struct SafeS
ref SafeS foo3() return scope
{
- return this;
+ static SafeS s; return s;
}
int* p;
diff --git a/gcc/testsuite/gdc.test/compilable/line.d b/gcc/testsuite/gdc.test/compilable/line.d
index 14e1789..419447d 100644
--- a/gcc/testsuite/gdc.test/compilable/line.d
+++ b/gcc/testsuite/gdc.test/compilable/line.d
@@ -26,5 +26,3 @@ static assert(__FILE_FULL_PATH__[$ - 9 .. $] == "newfile.d");
static assert(__LINE__ == 201);
static assert(__FILE__ == "newfile.d");
static assert(__FILE_FULL_PATH__[$ - 9 .. $] == "newfile.d");
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/mixintype.d b/gcc/testsuite/gdc.test/compilable/mixintype.d
index abbf85a..a53805b 100644
--- a/gcc/testsuite/gdc.test/compilable/mixintype.d
+++ b/gcc/testsuite/gdc.test/compilable/mixintype.d
@@ -52,4 +52,3 @@ void test4()
enum getStuff = q{ __traits(getMember,sb,"fieldb") };
auto b = Foo4!(mixin(getStuff));
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test10073.d b/gcc/testsuite/gdc.test/compilable/test10073.d
index 1faf6bf..1e0c546 100644
--- a/gcc/testsuite/gdc.test/compilable/test10073.d
+++ b/gcc/testsuite/gdc.test/compilable/test10073.d
@@ -21,4 +21,3 @@ class Bar
}
class Foo {} // NG
-
diff --git a/gcc/testsuite/gdc.test/compilable/test1238.d b/gcc/testsuite/gdc.test/compilable/test1238.d
index 0cbd84d..46a41b2 100644
--- a/gcc/testsuite/gdc.test/compilable/test1238.d
+++ b/gcc/testsuite/gdc.test/compilable/test1238.d
@@ -8,4 +8,3 @@ void foo()
{
int qwert = zuiop;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test12527.d b/gcc/testsuite/gdc.test/compilable/test12527.d
index b476c17..d99c69b 100644
--- a/gcc/testsuite/gdc.test/compilable/test12527.d
+++ b/gcc/testsuite/gdc.test/compilable/test12527.d
@@ -5,4 +5,3 @@
static assert(Fun.stringof == "void function() @safe");
alias Del = void delegate() @safe;
static assert(Del.stringof == "void delegate() @safe");
-
diff --git a/gcc/testsuite/gdc.test/compilable/test13193.d b/gcc/testsuite/gdc.test/compilable/test13193.d
index 58cb617..e4451b8 100644
--- a/gcc/testsuite/gdc.test/compilable/test13193.d
+++ b/gcc/testsuite/gdc.test/compilable/test13193.d
@@ -123,4 +123,3 @@ void bindFunc() {ssllib.getSymbol();}
bindFunc();
bindFunc(); /* 100 */
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test13194.d b/gcc/testsuite/gdc.test/compilable/test13194.d
index cefa7ba..47c8a83 100644
--- a/gcc/testsuite/gdc.test/compilable/test13194.d
+++ b/gcc/testsuite/gdc.test/compilable/test13194.d
@@ -14,4 +14,3 @@ union U13194
{
static Object o = void;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test13600.d b/gcc/testsuite/gdc.test/compilable/test13600.d
index a16b39c..9b09aac 100644
--- a/gcc/testsuite/gdc.test/compilable/test13600.d
+++ b/gcc/testsuite/gdc.test/compilable/test13600.d
@@ -10,4 +10,3 @@ class Retry
{
}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test13858.d b/gcc/testsuite/gdc.test/compilable/test13858.d
index 98b0796..557cec8 100644
--- a/gcc/testsuite/gdc.test/compilable/test13858.d
+++ b/gcc/testsuite/gdc.test/compilable/test13858.d
@@ -17,4 +17,3 @@ void main()
foo();
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test15019.d b/gcc/testsuite/gdc.test/compilable/test15019.d
index 41444ce..d676d61 100644
--- a/gcc/testsuite/gdc.test/compilable/test15019.d
+++ b/gcc/testsuite/gdc.test/compilable/test15019.d
@@ -72,4 +72,3 @@ struct Vector(T, int N)
assert(false);
}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test15389_y.d b/gcc/testsuite/gdc.test/compilable/test15389_y.d
index 78f4779..d546ad8 100644
--- a/gcc/testsuite/gdc.test/compilable/test15389_y.d
+++ b/gcc/testsuite/gdc.test/compilable/test15389_y.d
@@ -6,4 +6,3 @@ extern (C++, ns)
{
class Y { test15389_x.ns.X b; }
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test15464.d b/gcc/testsuite/gdc.test/compilable/test15464.d
index b8c3e9b..46d6e66 100644
--- a/gcc/testsuite/gdc.test/compilable/test15464.d
+++ b/gcc/testsuite/gdc.test/compilable/test15464.d
@@ -18,5 +18,3 @@ void main()
{
issue15464!C15464();
}
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/test15565.d b/gcc/testsuite/gdc.test/compilable/test15565.d
index 4beb900..211a595 100644
--- a/gcc/testsuite/gdc.test/compilable/test15565.d
+++ b/gcc/testsuite/gdc.test/compilable/test15565.d
@@ -1,3 +1,2 @@
alias X2 = X;
extern (C++, ns) struct X {}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test15578.d b/gcc/testsuite/gdc.test/compilable/test15578.d
index 81dd76a..78cb420 100644
--- a/gcc/testsuite/gdc.test/compilable/test15578.d
+++ b/gcc/testsuite/gdc.test/compilable/test15578.d
@@ -7,4 +7,3 @@ void f()
j = 0; // works as expected
k = 0; // Error: variable foo.ns.k is private
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test15762.d b/gcc/testsuite/gdc.test/compilable/test15762.d
index 0fb0293..0271c0f 100644
--- a/gcc/testsuite/gdc.test/compilable/test15762.d
+++ b/gcc/testsuite/gdc.test/compilable/test15762.d
@@ -10,4 +10,3 @@ void main() @safe {
auto d = cast(const(ubyte)[]) c;
auto e = cast(const(Windows1252Char)[]) c;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test15898.d b/gcc/testsuite/gdc.test/compilable/test15898.d
index 01c325e..8649efa 100644
--- a/gcc/testsuite/gdc.test/compilable/test15898.d
+++ b/gcc/testsuite/gdc.test/compilable/test15898.d
@@ -24,4 +24,3 @@ void mulKaratsuba(int[] result, const(int)[] x, const(int)[] y, int[] )
addAssignSimple(resultHigh[1..$], newscratchbuff[0..y1.length]);
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test16037.d b/gcc/testsuite/gdc.test/compilable/test16037.d
index 12c672a..2b0ebc9 100644
--- a/gcc/testsuite/gdc.test/compilable/test16037.d
+++ b/gcc/testsuite/gdc.test/compilable/test16037.d
@@ -19,5 +19,3 @@ auto f() @nogc
scope h=&g;
h();
}
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/test16080.d b/gcc/testsuite/gdc.test/compilable/test16080.d
index e9c6066..6520127 100644
--- a/gcc/testsuite/gdc.test/compilable/test16080.d
+++ b/gcc/testsuite/gdc.test/compilable/test16080.d
@@ -4,4 +4,3 @@
// https://issues.dlang.org/show_bug.cgi?id=16080
import imp16080;
-
diff --git a/gcc/testsuite/gdc.test/compilable/test16225.d b/gcc/testsuite/gdc.test/compilable/test16225.d
index 6600842..777dcee 100644
--- a/gcc/testsuite/gdc.test/compilable/test16225.d
+++ b/gcc/testsuite/gdc.test/compilable/test16225.d
@@ -11,4 +11,3 @@ struct C
return ((cast(ubyte*)&y)[1]);
}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test16798.d b/gcc/testsuite/gdc.test/compilable/test16798.d
index fe0f128..5d5d4da 100644
--- a/gcc/testsuite/gdc.test/compilable/test16798.d
+++ b/gcc/testsuite/gdc.test/compilable/test16798.d
@@ -11,4 +11,3 @@ it's a dessert topping
import its.a.floorwax.wax16798;
import its.a.dessert.topping;
-
diff --git a/gcc/testsuite/gdc.test/compilable/test17057.d b/gcc/testsuite/gdc.test/compilable/test17057.d
index 677fe38..0e615c8 100644
--- a/gcc/testsuite/gdc.test/compilable/test17057.d
+++ b/gcc/testsuite/gdc.test/compilable/test17057.d
@@ -9,4 +9,3 @@ void main()
{
static assert([__traits(allMembers, LeClass)] == ["toString", "toHash", "opCmp", "opEquals", "Monitor", "factory"]);
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test17421.d b/gcc/testsuite/gdc.test/compilable/test17421.d
index e5075fb..8188422 100644
--- a/gcc/testsuite/gdc.test/compilable/test17421.d
+++ b/gcc/testsuite/gdc.test/compilable/test17421.d
@@ -16,4 +16,3 @@ static assert(__traits(getFunctionVariadicStyle, typesafe) == "typesafe");
static assert(__traits(getFunctionVariadicStyle, (int[] a...) {}) == "typesafe");
static assert(__traits(getFunctionVariadicStyle, typeof(cstyle)) == "stdarg");
-
diff --git a/gcc/testsuite/gdc.test/compilable/test17468.d b/gcc/testsuite/gdc.test/compilable/test17468.d
index 840de21..14aceaa 100644
--- a/gcc/testsuite/gdc.test/compilable/test17468.d
+++ b/gcc/testsuite/gdc.test/compilable/test17468.d
@@ -9,4 +9,3 @@ struct S
}
}
const S CONST_S = S("/tmp".ptr);
-
diff --git a/gcc/testsuite/gdc.test/compilable/test17512.d b/gcc/testsuite/gdc.test/compilable/test17512.d
index 4bf96b7..6419436 100644
--- a/gcc/testsuite/gdc.test/compilable/test17512.d
+++ b/gcc/testsuite/gdc.test/compilable/test17512.d
@@ -23,4 +23,3 @@ struct S0(T)
}
alias B = S0!int;
-
diff --git a/gcc/testsuite/gdc.test/compilable/test17942.d b/gcc/testsuite/gdc.test/compilable/test17942.d
index 8fbc169..8d7ec39 100644
--- a/gcc/testsuite/gdc.test/compilable/test17942.d
+++ b/gcc/testsuite/gdc.test/compilable/test17942.d
@@ -12,4 +12,3 @@ void test()
enum B = AliasSeq!(2);
enum C = AliasSeq!();
-
diff --git a/gcc/testsuite/gdc.test/compilable/test18020.d b/gcc/testsuite/gdc.test/compilable/test18020.d
index d599920..6a7a36a 100644
--- a/gcc/testsuite/gdc.test/compilable/test18020.d
+++ b/gcc/testsuite/gdc.test/compilable/test18020.d
@@ -5,4 +5,4 @@ void bug(T)(T t)
t.opCmp(t);
}
-alias bugi = bug!(typeof(new class{})); \ No newline at end of file
+alias bugi = bug!(typeof(new class{}));
diff --git a/gcc/testsuite/gdc.test/compilable/test18584.d b/gcc/testsuite/gdc.test/compilable/test18584.d
index e447cc2..2007c83 100644
--- a/gcc/testsuite/gdc.test/compilable/test18584.d
+++ b/gcc/testsuite/gdc.test/compilable/test18584.d
@@ -8,4 +8,3 @@ struct S {
struct tmp(alias fns) {
alias fun = fns!int;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test18936.d b/gcc/testsuite/gdc.test/compilable/test18936.d
index 12f4b4b..82dff1b 100644
--- a/gcc/testsuite/gdc.test/compilable/test18936.d
+++ b/gcc/testsuite/gdc.test/compilable/test18936.d
@@ -28,4 +28,3 @@ struct S
return c;
}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test19203.d b/gcc/testsuite/gdc.test/compilable/test19203.d
index 206d662..4cbe6b8 100644
--- a/gcc/testsuite/gdc.test/compilable/test19203.d
+++ b/gcc/testsuite/gdc.test/compilable/test19203.d
@@ -24,4 +24,3 @@ void test()
static assert(!hasPopBack!Bar);
static assert( hasPopBack!Foo && !hasPopBack!Bar);
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test19227.d b/gcc/testsuite/gdc.test/compilable/test19227.d
index 27dab9e..6ff5349 100644
--- a/gcc/testsuite/gdc.test/compilable/test19227.d
+++ b/gcc/testsuite/gdc.test/compilable/test19227.d
@@ -26,4 +26,3 @@ void main()
static assert(T.init is T.init);
static assert(T.init != T.init);
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test20596.d b/gcc/testsuite/gdc.test/compilable/test20596.d
index cd059c9..4d7854e 100644
--- a/gcc/testsuite/gdc.test/compilable/test20596.d
+++ b/gcc/testsuite/gdc.test/compilable/test20596.d
@@ -27,5 +27,3 @@ void test3032() @nogc
scope fp = (){ n = 10; }; // no closure
fp();
}
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/test20653.d b/gcc/testsuite/gdc.test/compilable/test20653.d
index c7f329d..0e9b8f3 100644
--- a/gcc/testsuite/gdc.test/compilable/test20653.d
+++ b/gcc/testsuite/gdc.test/compilable/test20653.d
@@ -17,4 +17,3 @@ void main ()
{
assert(myFunc!int() == 0);
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test20717.d b/gcc/testsuite/gdc.test/compilable/test20717.d
new file mode 100644
index 0000000..d45801e
--- /dev/null
+++ b/gcc/testsuite/gdc.test/compilable/test20717.d
@@ -0,0 +1,17 @@
+// https://issues.dlang.org/show_bug.cgi?id=20717
+
+/*
+TEST_OUTPUT:
+---
+false
+---
+*/
+
+pragma(msg, is(typeof({
+ struct S
+ {
+ struct Foo {}
+ struct Bar() {}
+ alias Bar = Foo;
+ }
+})));
diff --git a/gcc/testsuite/gdc.test/compilable/test20906.d b/gcc/testsuite/gdc.test/compilable/test20906.d
index 86ffeda..e542631 100644
--- a/gcc/testsuite/gdc.test/compilable/test20906.d
+++ b/gcc/testsuite/gdc.test/compilable/test20906.d
@@ -12,4 +12,3 @@ int test12()
int d = !x ? 1 : 1 / x;
return a | b | c;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test20990.d b/gcc/testsuite/gdc.test/compilable/test20990.d
index aeae11d..0036e14 100644
--- a/gcc/testsuite/gdc.test/compilable/test20990.d
+++ b/gcc/testsuite/gdc.test/compilable/test20990.d
@@ -16,4 +16,3 @@ void bar(int* ptr)
assert(ptr);
*ptr = 42;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test22639.d b/gcc/testsuite/gdc.test/compilable/test22639.d
new file mode 100644
index 0000000..a889aa9
--- /dev/null
+++ b/gcc/testsuite/gdc.test/compilable/test22639.d
@@ -0,0 +1,26 @@
+// https://issues.dlang.org/show_bug.cgi?id=22639
+
+struct A
+{
+ this(ref return scope A rhs) inout {}
+ this(ref return scope const A rhs, int b = 7) inout
+ {
+ if (b != 7) {
+ this.b = b;
+ }
+ }
+
+ this(this) @disable;
+
+ int a=4;
+ int b=3;
+}
+
+void main()
+{
+ A a = A();
+ A c = A(a, 10);
+ A d = void;
+ d.__ctor(a, 200);
+ A* b = new A(a, 10);
+}
diff --git a/gcc/testsuite/gdc.test/compilable/test22665.d b/gcc/testsuite/gdc.test/compilable/test22665.d
index 9d55dbb..4da6fd1 100644
--- a/gcc/testsuite/gdc.test/compilable/test22665.d
+++ b/gcc/testsuite/gdc.test/compilable/test22665.d
@@ -18,5 +18,3 @@ E foo3(E e)
{
return E.A; // with qualification, it is an enum
}
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/test22825.d b/gcc/testsuite/gdc.test/compilable/test22825.d
new file mode 100644
index 0000000..7820eae
--- /dev/null
+++ b/gcc/testsuite/gdc.test/compilable/test22825.d
@@ -0,0 +1,4 @@
+// https://issues.dlang.org/show_bug.cgi?id=22825
+#line /*
+ multi-line comment
+*/ 42
diff --git a/gcc/testsuite/gdc.test/compilable/test22859.d b/gcc/testsuite/gdc.test/compilable/test22859.d
new file mode 100644
index 0000000..b5b318c
--- /dev/null
+++ b/gcc/testsuite/gdc.test/compilable/test22859.d
@@ -0,0 +1,40 @@
+// https://issues.dlang.org/show_bug.cgi?id=22859
+private struct __InoutWorkaroundStruct {}
+@property T rvalueOf(T)(T val) { return val; }
+@property T rvalueOf(T)(inout __InoutWorkaroundStruct = __InoutWorkaroundStruct.init);
+@property ref T lvalueOf(T)(inout __InoutWorkaroundStruct = __InoutWorkaroundStruct.init);
+
+// taken from std.traits.isAssignable
+template isAssignable(Lhs, Rhs = Lhs)
+{
+ enum isAssignable = __traits(compiles, lvalueOf!Lhs = rvalueOf!Rhs) && __traits(compiles, lvalueOf!Lhs = lvalueOf!Rhs);
+}
+
+// taken from std.meta.allSatisfy
+template allSatisfy(alias F, T...)
+{
+ static foreach (Ti; T)
+ {
+ static if (!is(typeof(allSatisfy) == bool) && // not yet defined
+ !F!(Ti))
+ {
+ enum allSatisfy = false;
+ }
+ }
+ static if (!is(typeof(allSatisfy) == bool)) // if not yet defined
+ {
+ enum allSatisfy = true;
+ }
+}
+
+struct None{}
+
+class C1
+{
+ static if(allSatisfy!(isAssignable, None, C2)) {}
+}
+
+class C2
+{
+ static if(allSatisfy!(isAssignable, None, C1, C2)) {}
+}
diff --git a/gcc/testsuite/gdc.test/compilable/test22860.d b/gcc/testsuite/gdc.test/compilable/test22860.d
new file mode 100644
index 0000000..543dd88
--- /dev/null
+++ b/gcc/testsuite/gdc.test/compilable/test22860.d
@@ -0,0 +1,62 @@
+// https://issues.dlang.org/show_bug.cgi?id=22860
+class C1
+{
+ SumType!(C1, C2) field;
+}
+
+class C2
+{
+ SumType!(SumType!(C1, C2)) field;
+}
+
+alias AliasSeq(TList...) = TList;
+
+template allSatisfy(alias F, T...)
+{
+ static foreach (Ti; T)
+ {
+ static if (!F!Ti)
+ enum allSatisfy = false;
+ }
+}
+
+struct This {}
+
+enum isAssignableTo(T) = isAssignable!T;
+enum isHashable(T) = __traits(compiles, { T.init; });
+
+struct SumType(Types...)
+{
+ alias Types = AliasSeq!(ReplaceTypeUnless!(isSumTypeInstance, This, typeof(this), TemplateArgsOf!SumType));
+
+ static foreach (T; Types)
+ {
+ static if (isAssignableTo!T)
+ {
+ }
+ }
+
+ static if (allSatisfy!(isAssignableTo, Types))
+ {
+ }
+
+ static if (allSatisfy!(isHashable, Types))
+ size_t toHash;
+}
+
+bool isSumTypeInstance;
+
+alias TemplateArgsOf(T : Base!Args, alias Base, Args...) = Args;
+enum isAssignable(Lhs, Rhs = Lhs) = isRvalueAssignable!(Lhs, Rhs) ;
+enum isRvalueAssignable(Lhs, Rhs ) = __traits(compiles, { lvalueOf!Lhs = Rhs; });
+
+struct __InoutWorkaroundStruct{}
+T lvalueOf(T)(__InoutWorkaroundStruct );
+
+template ReplaceTypeUnless(alias pred, From, To, T...)
+{
+ static if (T.length == 1)
+ alias ReplaceTypeUnless = T;
+ static if (T.length > 1)
+ alias ReplaceTypeUnless = AliasSeq!(ReplaceTypeUnless!(pred, From, To, T[1 ]));
+}
diff --git a/gcc/testsuite/gdc.test/compilable/test22919.d b/gcc/testsuite/gdc.test/compilable/test22919.d
new file mode 100644
index 0000000..8844ed0
--- /dev/null
+++ b/gcc/testsuite/gdc.test/compilable/test22919.d
@@ -0,0 +1,17 @@
+// REQUIRED_ARGS: -checkaction=context -preview=dip1000
+
+// Issue 22919 - [dip1000] -checkaction=context gives "assigned to `__assertOp2` with longer lifetime" (
+// https://issues.dlang.org/show_bug.cgi?id=22919
+
+@safe:
+struct S
+{
+ int* p;
+ ref S get() scope return {return this;}
+}
+
+void main()
+{
+ scope S arr = S();
+ assert(arr == arr.get());
+}
diff --git a/gcc/testsuite/gdc.test/compilable/test3775.d b/gcc/testsuite/gdc.test/compilable/test3775.d
index a34b329..da05dc5 100644
--- a/gcc/testsuite/gdc.test/compilable/test3775.d
+++ b/gcc/testsuite/gdc.test/compilable/test3775.d
@@ -5,5 +5,3 @@ struct Bug3775 {
}
static assert(cast(int)Bug3775.byLine == 1);
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/test4003.d b/gcc/testsuite/gdc.test/compilable/test4003.d
index f51310e..08bf7b3 100644
--- a/gcc/testsuite/gdc.test/compilable/test4003.d
+++ b/gcc/testsuite/gdc.test/compilable/test4003.d
@@ -4,4 +4,3 @@
import imports.stdio4003;
void main(){}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test4375.d b/gcc/testsuite/gdc.test/compilable/test4375.d
index 1cc7a3a..2a132fb 100644
--- a/gcc/testsuite/gdc.test/compilable/test4375.d
+++ b/gcc/testsuite/gdc.test/compilable/test4375.d
@@ -471,4 +471,3 @@ void f() {
else
x = null;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test50.d b/gcc/testsuite/gdc.test/compilable/test50.d
index a5dfac0..356b353 100644
--- a/gcc/testsuite/gdc.test/compilable/test50.d
+++ b/gcc/testsuite/gdc.test/compilable/test50.d
@@ -6,5 +6,3 @@ import imports.test50a;
class Bar : Foo {
alias typeof(Foo.tupleof) Bleh;
}
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/test5227.d b/gcc/testsuite/gdc.test/compilable/test5227.d
index b713191..befb947 100644
--- a/gcc/testsuite/gdc.test/compilable/test5227.d
+++ b/gcc/testsuite/gdc.test/compilable/test5227.d
@@ -128,5 +128,3 @@ pragma(msg, "fma()");
enum fmaf = fma(-3.2f, 5.2f, 3.8f); //pragma(msg, fmaf);
enum fmad = fma(-3.2 , 5.2 , 3.8 ); //pragma(msg, fmad);
enum fmar = fma(-3.2L, 5.2L, 3.8L); pragma(msg, fmar);
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/test602.d b/gcc/testsuite/gdc.test/compilable/test602.d
index a17aa16..c87f883 100644
--- a/gcc/testsuite/gdc.test/compilable/test602.d
+++ b/gcc/testsuite/gdc.test/compilable/test602.d
@@ -409,4 +409,3 @@ void test13321(bool b)
x = Foo(1);
EXIT:
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test6089.d b/gcc/testsuite/gdc.test/compilable/test6089.d
index b1fa2cf..603348c 100644
--- a/gcc/testsuite/gdc.test/compilable/test6089.d
+++ b/gcc/testsuite/gdc.test/compilable/test6089.d
@@ -3,4 +3,3 @@ void main()
{
extern int[1][1] foo;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test63.d b/gcc/testsuite/gdc.test/compilable/test63.d
index 9cf986d..55b2e47 100644
--- a/gcc/testsuite/gdc.test/compilable/test63.d
+++ b/gcc/testsuite/gdc.test/compilable/test63.d
@@ -4,4 +4,3 @@
private import imports.test63a;
const int SIZE = 7;
-
diff --git a/gcc/testsuite/gdc.test/compilable/test6395.d b/gcc/testsuite/gdc.test/compilable/test6395.d
index 3b80203..6504097 100644
--- a/gcc/testsuite/gdc.test/compilable/test6395.d
+++ b/gcc/testsuite/gdc.test/compilable/test6395.d
@@ -5,4 +5,3 @@
// https://issues.dlang.org/show_bug.cgi?id=6395
import c6395;
-
diff --git a/gcc/testsuite/gdc.test/compilable/test66.d b/gcc/testsuite/gdc.test/compilable/test66.d
index 9db082e..bedbd26 100644
--- a/gcc/testsuite/gdc.test/compilable/test66.d
+++ b/gcc/testsuite/gdc.test/compilable/test66.d
@@ -18,4 +18,3 @@ class Lexer
{
Token token;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test67.d b/gcc/testsuite/gdc.test/compilable/test67.d
index 9f45c64..bafc567 100644
--- a/gcc/testsuite/gdc.test/compilable/test67.d
+++ b/gcc/testsuite/gdc.test/compilable/test67.d
@@ -9,4 +9,3 @@ interface I
interface SubI : I
{
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test68.d b/gcc/testsuite/gdc.test/compilable/test68.d
index 55a7995..1631642 100644
--- a/gcc/testsuite/gdc.test/compilable/test68.d
+++ b/gcc/testsuite/gdc.test/compilable/test68.d
@@ -16,4 +16,3 @@ void main()
{
new Foo();
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test7399.d b/gcc/testsuite/gdc.test/compilable/test7399.d
index dba0741..8961ba1 100644
--- a/gcc/testsuite/gdc.test/compilable/test7399.d
+++ b/gcc/testsuite/gdc.test/compilable/test7399.d
@@ -3,4 +3,3 @@ static assert(!__traits(compiles, { import non.existing.file; }));
// https://issues.dlang.org/show_bug.cgi?id=7400
static assert(!is(typeof({import non_existing_file;})));
-
diff --git a/gcc/testsuite/gdc.test/compilable/test8296.d b/gcc/testsuite/gdc.test/compilable/test8296.d
index cd175b5..d29c9ed 100644
--- a/gcc/testsuite/gdc.test/compilable/test8296.d
+++ b/gcc/testsuite/gdc.test/compilable/test8296.d
@@ -30,4 +30,4 @@ class Foo
void main(string[] args)
{
auto foo = new Foo();
-} \ No newline at end of file
+}
diff --git a/gcc/testsuite/gdc.test/compilable/test8922b.d b/gcc/testsuite/gdc.test/compilable/test8922b.d
index 007f9b6..408c6e9 100644
--- a/gcc/testsuite/gdc.test/compilable/test8922b.d
+++ b/gcc/testsuite/gdc.test/compilable/test8922b.d
@@ -7,4 +7,3 @@ void test()
enum x = __traits(parent, imports.bug8922).stringof;
static assert(x == "package imports");
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test8922d.d b/gcc/testsuite/gdc.test/compilable/test8922d.d
index 4898cf6..87ec51a 100644
--- a/gcc/testsuite/gdc.test/compilable/test8922d.d
+++ b/gcc/testsuite/gdc.test/compilable/test8922d.d
@@ -8,4 +8,3 @@ void test()
enum x = __traits(parent, imports.bug8922).stringof;
static assert(x == "package imports");
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/test9057.d b/gcc/testsuite/gdc.test/compilable/test9057.d
index 3594a04..ca2acb6 100644
--- a/gcc/testsuite/gdc.test/compilable/test9057.d
+++ b/gcc/testsuite/gdc.test/compilable/test9057.d
@@ -16,5 +16,3 @@ void test9507_2() {
import imp9057_2;
Bug9057!(BugInt) xxx;
}
-
-
diff --git a/gcc/testsuite/gdc.test/compilable/test9436.d b/gcc/testsuite/gdc.test/compilable/test9436.d
index 5b650bd..2b3f8dc 100644
--- a/gcc/testsuite/gdc.test/compilable/test9436.d
+++ b/gcc/testsuite/gdc.test/compilable/test9436.d
@@ -1,4 +1,3 @@
// EXTRA_SOURCES: imports/test9436interp.d
// EXTRA_FILES: imports/test9436aggr.d imports/test9436node.d imports/test9436type.d
// this is a dummy module for test 9436.
-
diff --git a/gcc/testsuite/gdc.test/compilable/testAliasLookup.d b/gcc/testsuite/gdc.test/compilable/testAliasLookup.d
index 786c2f4..a7f698d 100644
--- a/gcc/testsuite/gdc.test/compilable/testAliasLookup.d
+++ b/gcc/testsuite/gdc.test/compilable/testAliasLookup.d
@@ -57,4 +57,3 @@ struct S16082
return aliasthis; // Line 20
}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/testInference.d b/gcc/testsuite/gdc.test/compilable/testInference.d
index 9ffecc1..31b1049 100644
--- a/gcc/testsuite/gdc.test/compilable/testInference.d
+++ b/gcc/testsuite/gdc.test/compilable/testInference.d
@@ -818,4 +818,3 @@ void test13840() nothrow
}
// Add more tests regarding inferences later.
-
diff --git a/gcc/testsuite/gdc.test/compilable/testprofile.d b/gcc/testsuite/gdc.test/compilable/testprofile.d
index 2f7beeb..6b0f775 100644
--- a/gcc/testsuite/gdc.test/compilable/testprofile.d
+++ b/gcc/testsuite/gdc.test/compilable/testprofile.d
@@ -20,4 +20,3 @@ void main() {
"lala", "lala", "lala", "lala");
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/testsctreturn.d b/gcc/testsuite/gdc.test/compilable/testsctreturn.d
index 7826cd4..0d0af2e 100644
--- a/gcc/testsuite/gdc.test/compilable/testsctreturn.d
+++ b/gcc/testsuite/gdc.test/compilable/testsctreturn.d
@@ -32,4 +32,3 @@ struct S
return &i;
}
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/typeid_name.d b/gcc/testsuite/gdc.test/compilable/typeid_name.d
index b2292bf..a0aa052 100644
--- a/gcc/testsuite/gdc.test/compilable/typeid_name.d
+++ b/gcc/testsuite/gdc.test/compilable/typeid_name.d
@@ -11,4 +11,3 @@ class Tiger : Panzer {}
static assert (() {
Panzer p = new Tiger(); return classname(p);
} () == "Tiger");
-
diff --git a/gcc/testsuite/gdc.test/compilable/vcg-ast.d b/gcc/testsuite/gdc.test/compilable/vcg-ast.d
index 61767cc..4673677 100644
--- a/gcc/testsuite/gdc.test/compilable/vcg-ast.d
+++ b/gcc/testsuite/gdc.test/compilable/vcg-ast.d
@@ -61,4 +61,3 @@ void main()
{
values!wchar_t;
}
-
diff --git a/gcc/testsuite/gdc.test/compilable/version.d b/gcc/testsuite/gdc.test/compilable/version.d
index 00c5c80..86d06cb 100644
--- a/gcc/testsuite/gdc.test/compilable/version.d
+++ b/gcc/testsuite/gdc.test/compilable/version.d
@@ -20,4 +20,4 @@ version (D_TypeInfo)
else
{
static assert(0);
-} \ No newline at end of file
+}