diff options
Diffstat (limited to 'gcc/testsuite/gdc.test/runnable')
73 files changed, 104 insertions, 79 deletions
diff --git a/gcc/testsuite/gdc.test/runnable/betterc.d b/gcc/testsuite/gdc.test/runnable/betterc.d index 0da798b..74967e9 100644 --- a/gcc/testsuite/gdc.test/runnable/betterc.d +++ b/gcc/testsuite/gdc.test/runnable/betterc.d @@ -199,4 +199,3 @@ void test18457() } assert(dtor == 1); } - diff --git a/gcc/testsuite/gdc.test/runnable/bug846.d b/gcc/testsuite/gdc.test/runnable/bug846.d index 71beb85..732168e 100644 --- a/gcc/testsuite/gdc.test/runnable/bug846.d +++ b/gcc/testsuite/gdc.test/runnable/bug846.d @@ -8,4 +8,3 @@ void main() auto num = removeIf( "abcdef".dup, ( char c ) { return c == 'c'; } ); assert(num == 5); } - diff --git a/gcc/testsuite/gdc.test/runnable/fix22372.d b/gcc/testsuite/gdc.test/runnable/fix22372.d index 55864a0..23681d9 100644 --- a/gcc/testsuite/gdc.test/runnable/fix22372.d +++ b/gcc/testsuite/gdc.test/runnable/fix22372.d @@ -35,4 +35,3 @@ void foo() assert(i == 1); // this fails } } - diff --git a/gcc/testsuite/gdc.test/runnable/functype.d b/gcc/testsuite/gdc.test/runnable/functype.d index 28e2709..5dad618 100644 --- a/gcc/testsuite/gdc.test/runnable/functype.d +++ b/gcc/testsuite/gdc.test/runnable/functype.d @@ -338,4 +338,3 @@ int main() printf("Success\n"); return 0; } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/a18a.d b/gcc/testsuite/gdc.test/runnable/imports/a18a.d index 444f00a..cbec56c 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/a18a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/a18a.d @@ -25,4 +25,3 @@ class Container(T) : IContainer!(int) return new Enumerator!(int)(); } } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/a21a.d b/gcc/testsuite/gdc.test/runnable/imports/a21a.d index ded47da..6ffbecf 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/a21a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/a21a.d @@ -18,4 +18,3 @@ class SomeClass mixin GoodMixin; mixin BadMixin; } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/bug846.d b/gcc/testsuite/gdc.test/runnable/imports/bug846.d index d83805d..49102af 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/bug846.d +++ b/gcc/testsuite/gdc.test/runnable/imports/bug846.d @@ -36,4 +36,3 @@ template removeIf( Buf, Pred ) return removeIf_!(ElemTypeOf!(Buf), Pred).fn( buf, pred ); } } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/c22a.d b/gcc/testsuite/gdc.test/runnable/imports/c22a.d index 98f49bc..82f2b8a 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/c22a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/c22a.d @@ -2,4 +2,3 @@ module imports.c22a; void afn1() {} void afn2() {} - diff --git a/gcc/testsuite/gdc.test/runnable/imports/c22b.d b/gcc/testsuite/gdc.test/runnable/imports/c22b.d index 0596933..af0c044 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/c22b.d +++ b/gcc/testsuite/gdc.test/runnable/imports/c22b.d @@ -3,4 +3,3 @@ module imports.c22b; public import imports.c22a : afn1; void bfn1() {} - diff --git a/gcc/testsuite/gdc.test/runnable/imports/link7745b.d b/gcc/testsuite/gdc.test/runnable/imports/link7745b.d index 2782782..f97230f 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/link7745b.d +++ b/gcc/testsuite/gdc.test/runnable/imports/link7745b.d @@ -3,5 +3,3 @@ struct C { auto asdfg() {} } // extreme test of bug 4820 void nextis(W)(void delegate() dg = {}) {} - - diff --git a/gcc/testsuite/gdc.test/runnable/imports/m1a.d b/gcc/testsuite/gdc.test/runnable/imports/m1a.d index 7489160..ac840b3 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/m1a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/m1a.d @@ -8,4 +8,3 @@ A aFunc( aliasM1 f ) } //A aFunc( A function() f ); - diff --git a/gcc/testsuite/gdc.test/runnable/imports/template2962a.d b/gcc/testsuite/gdc.test/runnable/imports/template2962a.d index 8cfb444..3ab2074 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/template2962a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/template2962a.d @@ -7,4 +7,3 @@ void main() { funcC!(bool)(1.0); foo!int(0); } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test10441b.d b/gcc/testsuite/gdc.test/runnable/imports/test10441b.d index 1f9318c..ea8e527 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test10441b.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test10441b.d @@ -6,4 +6,3 @@ auto foo()() { return 1; } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test10441c.d b/gcc/testsuite/gdc.test/runnable/imports/test10441c.d index fa9686a..fc63f4d 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test10441c.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test10441c.d @@ -3,4 +3,3 @@ auto boo(T)(T t) { return 1; } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test10a.d b/gcc/testsuite/gdc.test/runnable/imports/test10a.d index f75d375..4a634fc 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test10a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test10a.d @@ -6,4 +6,3 @@ void init() } int[1] it; - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test11039b.d b/gcc/testsuite/gdc.test/runnable/imports/test11039b.d index 7a56f8a..c14ed40 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test11039b.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test11039b.d @@ -4,4 +4,3 @@ module imports.test11039b; import test11039; static anotherGlobalField = SomeStruct!string("Hello Again!"); - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test13a.d b/gcc/testsuite/gdc.test/runnable/imports/test13a.d index 4512e41..a840fab 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test13a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test13a.d @@ -52,4 +52,3 @@ unittest { assert(pairA == pairB); printf("Pair tests passed!\r\n"); } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test27a.d b/gcc/testsuite/gdc.test/runnable/imports/test27a.d index 8a68a16..f49159a 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test27a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test27a.d @@ -15,4 +15,3 @@ public: Variant b = Variant(v); } } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test29a.d b/gcc/testsuite/gdc.test/runnable/imports/test29a.d index fe3ab97..9e834e2 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test29a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test29a.d @@ -3,4 +3,3 @@ module imports.test29a; private import imports.test29b; deprecated alias imports.test29b.qwert qwert; - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test31a.d b/gcc/testsuite/gdc.test/runnable/imports/test31a.d index 3d88280..150f92b 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test31a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test31a.d @@ -3,4 +3,3 @@ module imports.test31a; template Baz() { private void privfunc(){ } } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test32a.d b/gcc/testsuite/gdc.test/runnable/imports/test32a.d index 4d3ef36..158b766 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test32a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test32a.d @@ -7,4 +7,3 @@ struct S{ int f(){ return S.sizeof; // OK } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test35a.d b/gcc/testsuite/gdc.test/runnable/imports/test35a.d index b011934..e49ea80 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test35a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test35a.d @@ -36,4 +36,3 @@ template removeIf( Buf, Pred ) return removeIf_!(ElemTypeOf!(Buf), Pred).fn( buf, pred ); } } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test40a.d b/gcc/testsuite/gdc.test/runnable/imports/test40a.d index d894f45..e93dbff 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test40a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test40a.d @@ -38,4 +38,3 @@ class Context printf("context.func>\n"); } } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test41a.d b/gcc/testsuite/gdc.test/runnable/imports/test41a.d index 20750c9..bd55214 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test41a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test41a.d @@ -9,4 +9,3 @@ public void func(T)() { assert(false, "Blah"); } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test45a.d b/gcc/testsuite/gdc.test/runnable/imports/test45a.d index d466cbe..30d43df 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test45a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test45a.d @@ -14,4 +14,3 @@ int bar(T)(T t) printf("bar(t)\n"); return 3; } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test45b.d b/gcc/testsuite/gdc.test/runnable/imports/test45b.d index d1b0c34..b64a576 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test45b.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test45b.d @@ -13,4 +13,3 @@ int bar(T)(T t, int i) printf("bar(t,i)\n"); return 4; } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test46b.d b/gcc/testsuite/gdc.test/runnable/imports/test46b.d index e73122a..ab562c9 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test46b.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test46b.d @@ -7,4 +7,3 @@ class B private C!(char) c; this() { c = new C!(char); } } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test46c.d b/gcc/testsuite/gdc.test/runnable/imports/test46c.d index d5cc142f..1fe9acc 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test46c.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test46c.d @@ -4,4 +4,3 @@ class C(T) { void foo() { } } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test49a.d b/gcc/testsuite/gdc.test/runnable/imports/test49a.d index cb9c952..a017ec2 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test49a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test49a.d @@ -25,4 +25,3 @@ void baz() { alias Foo!(int) bar; } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test57a.d b/gcc/testsuite/gdc.test/runnable/imports/test57a.d index 8da955f..237d602 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test57a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test57a.d @@ -6,5 +6,3 @@ import imports.test57b; // doesn't work void foo() { C!(int) x; } - - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test57b.d b/gcc/testsuite/gdc.test/runnable/imports/test57b.d index e667de5..8c59ce0 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test57b.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test57b.d @@ -1,3 +1,2 @@ module imports.test57b; class C(T) { struct X {} } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/test58a.d b/gcc/testsuite/gdc.test/runnable/imports/test58a.d index 1f3c6d4..74dd900 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/test58a.d +++ b/gcc/testsuite/gdc.test/runnable/imports/test58a.d @@ -4,4 +4,3 @@ void foo(T)() { long[] a; a[] = -a[]; } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/testminitAA.d b/gcc/testsuite/gdc.test/runnable/imports/testminitAA.d index 0d5ddd8..7625cd1 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/testminitAA.d +++ b/gcc/testsuite/gdc.test/runnable/imports/testminitAA.d @@ -8,4 +8,3 @@ static this() printf("AA\n"); aa = 1; } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/testminitBB.d b/gcc/testsuite/gdc.test/runnable/imports/testminitBB.d index 72a750c..a0be186 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/testminitBB.d +++ b/gcc/testsuite/gdc.test/runnable/imports/testminitBB.d @@ -8,4 +8,3 @@ static this() printf("BB\n"); bb = 1; } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/testmod1b.d b/gcc/testsuite/gdc.test/runnable/imports/testmod1b.d index bedcbc6..47a8aaf 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/testmod1b.d +++ b/gcc/testsuite/gdc.test/runnable/imports/testmod1b.d @@ -5,4 +5,3 @@ import testmod1; void bar3() { Foo!(int) w; } - diff --git a/gcc/testsuite/gdc.test/runnable/imports/tlsa.d b/gcc/testsuite/gdc.test/runnable/imports/tlsa.d index b9957d9..7577304 100644 --- a/gcc/testsuite/gdc.test/runnable/imports/tlsa.d +++ b/gcc/testsuite/gdc.test/runnable/imports/tlsa.d @@ -31,5 +31,3 @@ int bar4() } /*************************************/ - - diff --git a/gcc/testsuite/gdc.test/runnable/manboy.d b/gcc/testsuite/gdc.test/runnable/manboy.d index 8e53307..6f353e9 100644 --- a/gcc/testsuite/gdc.test/runnable/manboy.d +++ b/gcc/testsuite/gdc.test/runnable/manboy.d @@ -17,4 +17,3 @@ int main() assert(a(10, 1, -1, -1, 1, 0) == -67); return 0; } - diff --git a/gcc/testsuite/gdc.test/runnable/nrvo.d b/gcc/testsuite/gdc.test/runnable/nrvo.d new file mode 100644 index 0000000..5c653fe --- /dev/null +++ b/gcc/testsuite/gdc.test/runnable/nrvo.d @@ -0,0 +1,30 @@ +/***************************************************/ + +struct S1 +{ + int x; + ~this() {} +} + +__gshared S1* s1ptr; + +S1 test1a() +{ + auto result = S1(123); + (() @trusted { result.x++; s1ptr = &result; })(); + return result; +} + +void test1() +{ + auto r = test1a(); + assert(r.x == 124); + assert(&r == s1ptr); +} + +/***************************************************/ + +void main() +{ + test1(); +} diff --git a/gcc/testsuite/gdc.test/runnable/pi.d b/gcc/testsuite/gdc.test/runnable/pi.d index bb5f0d0..73c5919 100644 --- a/gcc/testsuite/gdc.test/runnable/pi.d +++ b/gcc/testsuite/gdc.test/runnable/pi.d @@ -169,6 +169,3 @@ int tiszero() return false; return true; } - - - diff --git a/gcc/testsuite/gdc.test/runnable/template2962.d b/gcc/testsuite/gdc.test/runnable/template2962.d index 3993e81..a229230 100644 --- a/gcc/testsuite/gdc.test/runnable/template2962.d +++ b/gcc/testsuite/gdc.test/runnable/template2962.d @@ -27,4 +27,3 @@ void bug2962comment36()(int p) int inner()() { return p; } alias inner!() finner; } - diff --git a/gcc/testsuite/gdc.test/runnable/test10441.d b/gcc/testsuite/gdc.test/runnable/test10441.d index 6dc24ea..9a1bf9c 100644 --- a/gcc/testsuite/gdc.test/runnable/test10441.d +++ b/gcc/testsuite/gdc.test/runnable/test10441.d @@ -7,4 +7,3 @@ void main() boo(1); foo(); } - diff --git a/gcc/testsuite/gdc.test/runnable/test10942.d b/gcc/testsuite/gdc.test/runnable/test10942.d index 8c45c20..0c19dad 100644 --- a/gcc/testsuite/gdc.test/runnable/test10942.d +++ b/gcc/testsuite/gdc.test/runnable/test10942.d @@ -30,4 +30,3 @@ string getEnum(size_t count) mixin(getEnum(1087)); void main() { } - diff --git a/gcc/testsuite/gdc.test/runnable/test11.d b/gcc/testsuite/gdc.test/runnable/test11.d index abaae37..6735a81 100644 --- a/gcc/testsuite/gdc.test/runnable/test11.d +++ b/gcc/testsuite/gdc.test/runnable/test11.d @@ -1389,5 +1389,3 @@ int main(string[] argv) printf("Success\n"); return 0; } - - diff --git a/gcc/testsuite/gdc.test/runnable/test11039.d b/gcc/testsuite/gdc.test/runnable/test11039.d index cc5cdba..0900609 100644 --- a/gcc/testsuite/gdc.test/runnable/test11039.d +++ b/gcc/testsuite/gdc.test/runnable/test11039.d @@ -20,4 +20,3 @@ void main() globalField.getInnerField(); anotherGlobalField.getInnerField(); } - diff --git a/gcc/testsuite/gdc.test/runnable/test12.d b/gcc/testsuite/gdc.test/runnable/test12.d index 01c7486..22f4b84 100644 --- a/gcc/testsuite/gdc.test/runnable/test12.d +++ b/gcc/testsuite/gdc.test/runnable/test12.d @@ -1246,4 +1246,3 @@ int main(string[] argv) printf("Success\n"); return 0; } - diff --git a/gcc/testsuite/gdc.test/runnable/test15568.d b/gcc/testsuite/gdc.test/runnable/test15568.d index d21ede2..ada6e3c 100644 --- a/gcc/testsuite/gdc.test/runnable/test15568.d +++ b/gcc/testsuite/gdc.test/runnable/test15568.d @@ -55,4 +55,3 @@ unittest a.foo(c, null, false); } - diff --git a/gcc/testsuite/gdc.test/runnable/test16140.d b/gcc/testsuite/gdc.test/runnable/test16140.d index 3004945..6ea66a3 100644 --- a/gcc/testsuite/gdc.test/runnable/test16140.d +++ b/gcc/testsuite/gdc.test/runnable/test16140.d @@ -29,4 +29,3 @@ void main() res ~= value; assert(res == [1, 2, 3]); } - diff --git a/gcc/testsuite/gdc.test/runnable/test17.d b/gcc/testsuite/gdc.test/runnable/test17.d index 4b17ede..b09cfb3 100644 --- a/gcc/testsuite/gdc.test/runnable/test17.d +++ b/gcc/testsuite/gdc.test/runnable/test17.d @@ -40,4 +40,3 @@ int main() ulog("point(1.2)\n"); return 0; } - diff --git a/gcc/testsuite/gdc.test/runnable/test17246.d b/gcc/testsuite/gdc.test/runnable/test17246.d index 2d51720..778d62d 100644 --- a/gcc/testsuite/gdc.test/runnable/test17246.d +++ b/gcc/testsuite/gdc.test/runnable/test17246.d @@ -47,4 +47,3 @@ int main(string[] args) auto bar = genBar(args.length == 0); return 0; } - diff --git a/gcc/testsuite/gdc.test/runnable/test19735.d b/gcc/testsuite/gdc.test/runnable/test19735.d index 8a1a5e7..98fc5da 100644 --- a/gcc/testsuite/gdc.test/runnable/test19735.d +++ b/gcc/testsuite/gdc.test/runnable/test19735.d @@ -19,4 +19,3 @@ void main() { assert(test1(1) == test2(1)); } - diff --git a/gcc/testsuite/gdc.test/runnable/test20036.d b/gcc/testsuite/gdc.test/runnable/test20036.d index 640de19..f22c1f7 100644 --- a/gcc/testsuite/gdc.test/runnable/test20036.d +++ b/gcc/testsuite/gdc.test/runnable/test20036.d @@ -7,4 +7,3 @@ void main() foreach(p; px) assert(p && *p == 7); } - diff --git a/gcc/testsuite/gdc.test/runnable/test20565.d b/gcc/testsuite/gdc.test/runnable/test20565.d index 47a8db3..df4a226 100644 --- a/gcc/testsuite/gdc.test/runnable/test20565.d +++ b/gcc/testsuite/gdc.test/runnable/test20565.d @@ -15,4 +15,3 @@ void main() assert(temp!int() == 5); } } - diff --git a/gcc/testsuite/gdc.test/runnable/test21.d b/gcc/testsuite/gdc.test/runnable/test21.d index 66e3cf2..c5323396 100644 --- a/gcc/testsuite/gdc.test/runnable/test21.d +++ b/gcc/testsuite/gdc.test/runnable/test21.d @@ -7,4 +7,3 @@ int main() TA!(int) variable; return 0; } - diff --git a/gcc/testsuite/gdc.test/runnable/test22175.d b/gcc/testsuite/gdc.test/runnable/test22175.d new file mode 100644 index 0000000..195001b --- /dev/null +++ b/gcc/testsuite/gdc.test/runnable/test22175.d @@ -0,0 +1,32 @@ +// https://issues.dlang.org/show_bug.cgi?id=22175 + +struct Struct +{ + short a = 24, b = 25, c = 26, d = 27; + ubyte e = 28; +} + +Struct foo() { Struct s; s.a = 60; s.b = 61; s.c = 62, s.d = 63; s.e = 64; return s; } + +Struct test(int i) { + Struct var = i ? Struct() : foo(); + Struct nest() { return var; } + return nest(); +} + +int main() +{ + auto s = test(0); + assert(s.a == 60); + assert(s.b == 61); + assert(s.c == 62); + assert(s.d == 63); + assert(s.e == 64); + s = test(1); + assert(s.a == 24); + assert(s.b == 25); + assert(s.c == 26); + assert(s.d == 27); + assert(s.e == 28); + return 0; +} diff --git a/gcc/testsuite/gdc.test/runnable/test22945.d b/gcc/testsuite/gdc.test/runnable/test22945.d new file mode 100644 index 0000000..a8b968d --- /dev/null +++ b/gcc/testsuite/gdc.test/runnable/test22945.d @@ -0,0 +1,38 @@ +/* +REQUIRED_ARGS: -release -check=assert=on +PERMUTE_ARGS: -check=invariant=on +*/ + +// https://issues.dlang.org/show_bug.cgi?id=22945 + +bool hitStruct; +bool hitClass; + +struct S +{ + this(int) {} + invariant { hitStruct = true; } +} + +class C +{ + this() {} + invariant { hitClass = true; } +} + +int main() +{ + cast(void) S(0); + cast(void) new C(); + + version(D_Invariants) + { + assert(hitStruct && hitClass); + } + else + { + assert(!hitStruct && !hitClass); + } + + return 0; +} diff --git a/gcc/testsuite/gdc.test/runnable/test27.d b/gcc/testsuite/gdc.test/runnable/test27.d index 9c0a8d0..a5f1606 100644 --- a/gcc/testsuite/gdc.test/runnable/test27.d +++ b/gcc/testsuite/gdc.test/runnable/test27.d @@ -10,4 +10,3 @@ int main() v.func(5); return 0; } - diff --git a/gcc/testsuite/gdc.test/runnable/test28.d b/gcc/testsuite/gdc.test/runnable/test28.d index 8fb60b9..f744712 100644 --- a/gcc/testsuite/gdc.test/runnable/test28.d +++ b/gcc/testsuite/gdc.test/runnable/test28.d @@ -1339,4 +1339,3 @@ void main() printf("Success\n"); } - diff --git a/gcc/testsuite/gdc.test/runnable/test3.d b/gcc/testsuite/gdc.test/runnable/test3.d index 4c6b9de..36c1aa3 100644 --- a/gcc/testsuite/gdc.test/runnable/test3.d +++ b/gcc/testsuite/gdc.test/runnable/test3.d @@ -38,4 +38,3 @@ int main(string[] args) assert(a.bar == "lolobetty"); return 0; } - diff --git a/gcc/testsuite/gdc.test/runnable/test30.d b/gcc/testsuite/gdc.test/runnable/test30.d index 384ff4c..5510021 100644 --- a/gcc/testsuite/gdc.test/runnable/test30.d +++ b/gcc/testsuite/gdc.test/runnable/test30.d @@ -7,4 +7,3 @@ int main() return 7; return 0; } - diff --git a/gcc/testsuite/gdc.test/runnable/test32.d b/gcc/testsuite/gdc.test/runnable/test32.d index d98d468..31f0cc7 100644 --- a/gcc/testsuite/gdc.test/runnable/test32.d +++ b/gcc/testsuite/gdc.test/runnable/test32.d @@ -8,4 +8,3 @@ void main() { assert(S.sizeof == int.sizeof); } - diff --git a/gcc/testsuite/gdc.test/runnable/test34.d b/gcc/testsuite/gdc.test/runnable/test34.d index dee6609..df46137 100644 --- a/gcc/testsuite/gdc.test/runnable/test34.d +++ b/gcc/testsuite/gdc.test/runnable/test34.d @@ -1317,5 +1317,3 @@ void main() printf("Success\n"); } - - diff --git a/gcc/testsuite/gdc.test/runnable/test40.d b/gcc/testsuite/gdc.test/runnable/test40.d index 2c1069d..497b0be 100644 --- a/gcc/testsuite/gdc.test/runnable/test40.d +++ b/gcc/testsuite/gdc.test/runnable/test40.d @@ -13,4 +13,3 @@ class Foo { void main() { Bar.foobar(); } - diff --git a/gcc/testsuite/gdc.test/runnable/test41.d b/gcc/testsuite/gdc.test/runnable/test41.d index fd89bab..02f59d0 100644 --- a/gcc/testsuite/gdc.test/runnable/test41.d +++ b/gcc/testsuite/gdc.test/runnable/test41.d @@ -26,4 +26,3 @@ int main() return 0; } - diff --git a/gcc/testsuite/gdc.test/runnable/test57.d b/gcc/testsuite/gdc.test/runnable/test57.d index 54cf672..c79b3f8 100644 --- a/gcc/testsuite/gdc.test/runnable/test57.d +++ b/gcc/testsuite/gdc.test/runnable/test57.d @@ -7,4 +7,3 @@ module test57; import imports.test57a; void main() {} - diff --git a/gcc/testsuite/gdc.test/runnable/test7932.d b/gcc/testsuite/gdc.test/runnable/test7932.d index 22aa279..8c6663e 100644 --- a/gcc/testsuite/gdc.test/runnable/test7932.d +++ b/gcc/testsuite/gdc.test/runnable/test7932.d @@ -28,4 +28,3 @@ void main() auto x = new C; x.f(1); } - diff --git a/gcc/testsuite/gdc.test/runnable/test9495.d b/gcc/testsuite/gdc.test/runnable/test9495.d index e8eaad8..309f0e3 100644 --- a/gcc/testsuite/gdc.test/runnable/test9495.d +++ b/gcc/testsuite/gdc.test/runnable/test9495.d @@ -28,4 +28,4 @@ void main(string[] args) { test9495a(); test9495b(); -}
\ No newline at end of file +} diff --git a/gcc/testsuite/gdc.test/runnable/testmain.d b/gcc/testsuite/gdc.test/runnable/testmain.d index d615e10..1f70f8c 100644 --- a/gcc/testsuite/gdc.test/runnable/testmain.d +++ b/gcc/testsuite/gdc.test/runnable/testmain.d @@ -3,4 +3,3 @@ // PERMUTE_ARGS: -betterC void foo() { } - diff --git a/gcc/testsuite/gdc.test/runnable/testmod2.d b/gcc/testsuite/gdc.test/runnable/testmod2.d index 111696a..1af9fbb 100644 --- a/gcc/testsuite/gdc.test/runnable/testmod2.d +++ b/gcc/testsuite/gdc.test/runnable/testmod2.d @@ -9,4 +9,3 @@ void main() void whatever() {} foo!(whatever)(); } - diff --git a/gcc/testsuite/gdc.test/runnable/testscope2.d b/gcc/testsuite/gdc.test/runnable/testscope2.d index 4de1eba..a1164dc 100644 --- a/gcc/testsuite/gdc.test/runnable/testscope2.d +++ b/gcc/testsuite/gdc.test/runnable/testscope2.d @@ -4,7 +4,7 @@ TEST_OUTPUT: --- foo1 ulong function(return ref int* delegate() return p) ref return foo2 int function(return ref int delegate() p) ref -foo3 int function(return ref inout(int*) p) ref +foo3 int function(ref inout(int*) p) ref foo4 int function(return ref inout(int*) p) ref --- */ @@ -47,13 +47,13 @@ void test3() // Test scope mangling assert(SS.foo1.mangleof == "_D10testscope22SS4foo1MFNcNjNkKDFNjZPiZm"); assert(SS.foo2.mangleof == "_D10testscope22SS4foo2MFNcNkKDFZiZi"); - assert(SS.foo3.mangleof == "_D10testscope22SS4foo3MFNcNkKNgPiZi"); + assert(SS.foo3.mangleof == "_D10testscope22SS4foo3MFNcKNgPiZi"); assert(SS.foo4.mangleof == "_D10testscope22SS4foo4MFNcNkKNgPiZi"); // Test scope pretty-printing assert(typeof(SS.foo1).stringof == "ref ulong(return ref int* delegate() return p) return"); assert(typeof(SS.foo2).stringof == "ref int(return ref int delegate() p)"); - assert(typeof(SS.foo3).stringof == "ref int(return ref inout(int*) p)"); + assert(typeof(SS.foo3).stringof == "ref int(ref inout(int*) p)"); assert(typeof(SS.foo4).stringof == "ref int(return ref inout(int*) p)"); } } diff --git a/gcc/testsuite/gdc.test/runnable/testthread2.d b/gcc/testsuite/gdc.test/runnable/testthread2.d index 53f8a3b..2c87ecd 100644 --- a/gcc/testsuite/gdc.test/runnable/testthread2.d +++ b/gcc/testsuite/gdc.test/runnable/testthread2.d @@ -111,4 +111,3 @@ void main() } } } - diff --git a/gcc/testsuite/gdc.test/runnable/tls.d b/gcc/testsuite/gdc.test/runnable/tls.d index 7b59509..04bbbd1 100644 --- a/gcc/testsuite/gdc.test/runnable/tls.d +++ b/gcc/testsuite/gdc.test/runnable/tls.d @@ -96,4 +96,3 @@ int main() printf("Success\n"); return 0; } - diff --git a/gcc/testsuite/gdc.test/runnable/tls_dup.d b/gcc/testsuite/gdc.test/runnable/tls_dup.d index 6acffb4..8e171de 100644 --- a/gcc/testsuite/gdc.test/runnable/tls_dup.d +++ b/gcc/testsuite/gdc.test/runnable/tls_dup.d @@ -101,4 +101,3 @@ int main() printf("Success\n"); return 0; } - diff --git a/gcc/testsuite/gdc.test/runnable/xtest55.d b/gcc/testsuite/gdc.test/runnable/xtest55.d index f976520..b7d1266 100644 --- a/gcc/testsuite/gdc.test/runnable/xtest55.d +++ b/gcc/testsuite/gdc.test/runnable/xtest55.d @@ -21,4 +21,3 @@ int main() assert(stuff1.num == 1); return 0; } - |