d: Synchronize testsuite with upstream dmd
authorIain Buclaw <ibuclaw@gdcproject.org>
Sat, 9 Jan 2021 22:25:44 +0000 (23:25 +0100)
committerIain Buclaw <ibuclaw@gdcproject.org>
Sat, 9 Jan 2021 22:59:30 +0000 (23:59 +0100)
Adds TEST_OUTPUT directives and reduces the verbosity of many tests.

Reviewed-on: https://github.com/dlang/dmd/pull/12112

gcc/d/ChangeLog:

* dmd/MERGE: Merge upstream dmd cb1106ad5.

257 files changed:
gcc/d/dmd/MERGE
gcc/testsuite/gdc.test/compilable/99bottles.d
gcc/testsuite/gdc.test/compilable/b16382.d
gcc/testsuite/gdc.test/compilable/b17111.d
gcc/testsuite/gdc.test/compilable/compile1.d
gcc/testsuite/gdc.test/compilable/ddoc3.d
gcc/testsuite/gdc.test/compilable/imports/test15117a.d [deleted file]
gcc/testsuite/gdc.test/compilable/interpret3.d
gcc/testsuite/gdc.test/compilable/test11563.d
gcc/testsuite/gdc.test/compilable/test12527.d
gcc/testsuite/gdc.test/compilable/test15019.d
gcc/testsuite/gdc.test/compilable/test15177.d [deleted file]
gcc/testsuite/gdc.test/compilable/test15326.d
gcc/testsuite/gdc.test/compilable/test16525.d
gcc/testsuite/gdc.test/compilable/test17143.d
gcc/testsuite/gdc.test/compilable/testDIP37.d
gcc/testsuite/gdc.test/compilable/testInference.d
gcc/testsuite/gdc.test/compilable/testheader1.d
gcc/testsuite/gdc.test/compilable/testheader1i.d
gcc/testsuite/gdc.test/compilable/testparse.d
gcc/testsuite/gdc.test/fail_compilation/bug5.d
gcc/testsuite/gdc.test/fail_compilation/bug5b.d
gcc/testsuite/gdc.test/fail_compilation/bug8150a.d
gcc/testsuite/gdc.test/fail_compilation/bug8150b.d
gcc/testsuite/gdc.test/fail_compilation/diag10327.d
gcc/testsuite/gdc.test/fail_compilation/diag15713.d
gcc/testsuite/gdc.test/fail_compilation/fail104.d
gcc/testsuite/gdc.test/fail_compilation/fail10905.d
gcc/testsuite/gdc.test/fail_compilation/fail115.d
gcc/testsuite/gdc.test/fail_compilation/fail11503a.d
gcc/testsuite/gdc.test/fail_compilation/fail11503b.d
gcc/testsuite/gdc.test/fail_compilation/fail11503c.d
gcc/testsuite/gdc.test/fail_compilation/fail11503d.d
gcc/testsuite/gdc.test/fail_compilation/fail12.d
gcc/testsuite/gdc.test/fail_compilation/fail121.d
gcc/testsuite/gdc.test/fail_compilation/fail12485.d [deleted file]
gcc/testsuite/gdc.test/fail_compilation/fail137.d [deleted file]
gcc/testsuite/gdc.test/fail_compilation/fail14.d
gcc/testsuite/gdc.test/fail_compilation/fail14486.d
gcc/testsuite/gdc.test/fail_compilation/fail15.d
gcc/testsuite/gdc.test/fail_compilation/fail15616b.d
gcc/testsuite/gdc.test/fail_compilation/fail16.d
gcc/testsuite/gdc.test/fail_compilation/fail17.d
gcc/testsuite/gdc.test/fail_compilation/fail196.d
gcc/testsuite/gdc.test/fail_compilation/fail19890a.d
gcc/testsuite/gdc.test/fail_compilation/fail19890b.d
gcc/testsuite/gdc.test/fail_compilation/fail199.d
gcc/testsuite/gdc.test/fail_compilation/fail200.d
gcc/testsuite/gdc.test/fail_compilation/fail201.d
gcc/testsuite/gdc.test/fail_compilation/fail202.d
gcc/testsuite/gdc.test/fail_compilation/fail203.d
gcc/testsuite/gdc.test/fail_compilation/fail204.d
gcc/testsuite/gdc.test/fail_compilation/fail205.d
gcc/testsuite/gdc.test/fail_compilation/fail206.d
gcc/testsuite/gdc.test/fail_compilation/fail217.d
gcc/testsuite/gdc.test/fail_compilation/fail220.d
gcc/testsuite/gdc.test/fail_compilation/fail225.d
gcc/testsuite/gdc.test/fail_compilation/fail232.d
gcc/testsuite/gdc.test/fail_compilation/fail239.d
gcc/testsuite/gdc.test/fail_compilation/fail252.d
gcc/testsuite/gdc.test/fail_compilation/fail257.d
gcc/testsuite/gdc.test/fail_compilation/fail258.d
gcc/testsuite/gdc.test/fail_compilation/fail2740.d
gcc/testsuite/gdc.test/fail_compilation/fail276.d
gcc/testsuite/gdc.test/fail_compilation/fail279.d
gcc/testsuite/gdc.test/fail_compilation/fail280.d
gcc/testsuite/gdc.test/fail_compilation/fail281.d
gcc/testsuite/gdc.test/fail_compilation/fail308.d
gcc/testsuite/gdc.test/fail_compilation/fail3150.d
gcc/testsuite/gdc.test/fail_compilation/fail316.d
gcc/testsuite/gdc.test/fail_compilation/fail324.d
gcc/testsuite/gdc.test/fail_compilation/fail3290.d
gcc/testsuite/gdc.test/fail_compilation/fail344.d
gcc/testsuite/gdc.test/fail_compilation/fail346.d
gcc/testsuite/gdc.test/fail_compilation/fail356a.d
gcc/testsuite/gdc.test/fail_compilation/fail356b.d
gcc/testsuite/gdc.test/fail_compilation/fail356c.d
gcc/testsuite/gdc.test/fail_compilation/fail3581a.d
gcc/testsuite/gdc.test/fail_compilation/fail3581b.d
gcc/testsuite/gdc.test/fail_compilation/fail359.d
gcc/testsuite/gdc.test/fail_compilation/fail3673a.d
gcc/testsuite/gdc.test/fail_compilation/fail3673b.d
gcc/testsuite/gdc.test/fail_compilation/fail3731.d
gcc/testsuite/gdc.test/fail_compilation/fail3753.d
gcc/testsuite/gdc.test/fail_compilation/fail3895.d
gcc/testsuite/gdc.test/fail_compilation/fail4206.d
gcc/testsuite/gdc.test/fail_compilation/fail4269a.d
gcc/testsuite/gdc.test/fail_compilation/fail4269b.d
gcc/testsuite/gdc.test/fail_compilation/fail4269c.d
gcc/testsuite/gdc.test/fail_compilation/fail4269d.d
gcc/testsuite/gdc.test/fail_compilation/fail4269e.d
gcc/testsuite/gdc.test/fail_compilation/fail4269f.d
gcc/testsuite/gdc.test/fail_compilation/fail4269g.d
gcc/testsuite/gdc.test/fail_compilation/fail4375a.d
gcc/testsuite/gdc.test/fail_compilation/fail4375b.d
gcc/testsuite/gdc.test/fail_compilation/fail4375c.d
gcc/testsuite/gdc.test/fail_compilation/fail4375d.d
gcc/testsuite/gdc.test/fail_compilation/fail4375e.d
gcc/testsuite/gdc.test/fail_compilation/fail4375f.d
gcc/testsuite/gdc.test/fail_compilation/fail4375g.d
gcc/testsuite/gdc.test/fail_compilation/fail4375h.d
gcc/testsuite/gdc.test/fail_compilation/fail4375i.d
gcc/testsuite/gdc.test/fail_compilation/fail4375j.d
gcc/testsuite/gdc.test/fail_compilation/fail4375k.d
gcc/testsuite/gdc.test/fail_compilation/fail4375l.d
gcc/testsuite/gdc.test/fail_compilation/fail4375m.d
gcc/testsuite/gdc.test/fail_compilation/fail4375o.d
gcc/testsuite/gdc.test/fail_compilation/fail4375p.d
gcc/testsuite/gdc.test/fail_compilation/fail4375q.d
gcc/testsuite/gdc.test/fail_compilation/fail4375r.d
gcc/testsuite/gdc.test/fail_compilation/fail4375s.d
gcc/testsuite/gdc.test/fail_compilation/fail4375t.d
gcc/testsuite/gdc.test/fail_compilation/fail4375u.d
gcc/testsuite/gdc.test/fail_compilation/fail4375v.d
gcc/testsuite/gdc.test/fail_compilation/fail4375w.d
gcc/testsuite/gdc.test/fail_compilation/fail4375x.d
gcc/testsuite/gdc.test/fail_compilation/fail4375y.d
gcc/testsuite/gdc.test/fail_compilation/fail4510.d
gcc/testsuite/gdc.test/fail_compilation/fail4511.d
gcc/testsuite/gdc.test/fail_compilation/fail4517.d
gcc/testsuite/gdc.test/fail_compilation/fail4611.d
gcc/testsuite/gdc.test/fail_compilation/fail47.d
gcc/testsuite/gdc.test/fail_compilation/fail4958.d
gcc/testsuite/gdc.test/fail_compilation/fail5435.d
gcc/testsuite/gdc.test/fail_compilation/fail56.d
gcc/testsuite/gdc.test/fail_compilation/fail5634.d
gcc/testsuite/gdc.test/fail_compilation/fail57.d
gcc/testsuite/gdc.test/fail_compilation/fail5733.d
gcc/testsuite/gdc.test/fail_compilation/fail58.d
gcc/testsuite/gdc.test/fail_compilation/fail5851.d
gcc/testsuite/gdc.test/fail_compilation/fail5953a1.d
gcc/testsuite/gdc.test/fail_compilation/fail5953a2.d
gcc/testsuite/gdc.test/fail_compilation/fail5953s1.d
gcc/testsuite/gdc.test/fail_compilation/fail5953s2.d
gcc/testsuite/gdc.test/fail_compilation/fail60.d
gcc/testsuite/gdc.test/fail_compilation/fail6029.d
gcc/testsuite/gdc.test/fail_compilation/fail6242.d
gcc/testsuite/gdc.test/fail_compilation/fail6458.d
gcc/testsuite/gdc.test/fail_compilation/fail6497.d
gcc/testsuite/gdc.test/fail_compilation/fail6561.d
gcc/testsuite/gdc.test/fail_compilation/fail6611.d
gcc/testsuite/gdc.test/fail_compilation/fail6781.d
gcc/testsuite/gdc.test/fail_compilation/fail6968.d
gcc/testsuite/gdc.test/fail_compilation/fail7173.d
gcc/testsuite/gdc.test/fail_compilation/fail7178.d
gcc/testsuite/gdc.test/fail_compilation/fail7234.d
gcc/testsuite/gdc.test/fail_compilation/fail7369.d
gcc/testsuite/gdc.test/fail_compilation/fail7424b.d
gcc/testsuite/gdc.test/fail_compilation/fail7424c.d
gcc/testsuite/gdc.test/fail_compilation/fail7424d.d
gcc/testsuite/gdc.test/fail_compilation/fail7424e.d
gcc/testsuite/gdc.test/fail_compilation/fail7424f.d
gcc/testsuite/gdc.test/fail_compilation/fail7424g.d
gcc/testsuite/gdc.test/fail_compilation/fail7424h.d
gcc/testsuite/gdc.test/fail_compilation/fail7424i.d
gcc/testsuite/gdc.test/fail_compilation/fail7524a.d
gcc/testsuite/gdc.test/fail_compilation/fail7524b.d
gcc/testsuite/gdc.test/fail_compilation/fail7603a.d
gcc/testsuite/gdc.test/fail_compilation/fail7603b.d
gcc/testsuite/gdc.test/fail_compilation/fail7603c.d
gcc/testsuite/gdc.test/fail_compilation/fail77.d
gcc/testsuite/gdc.test/fail_compilation/fail7702.d
gcc/testsuite/gdc.test/fail_compilation/fail7751.d
gcc/testsuite/gdc.test/fail_compilation/fail7851.d
gcc/testsuite/gdc.test/fail_compilation/fail7859.d
gcc/testsuite/gdc.test/fail_compilation/fail7861.d
gcc/testsuite/gdc.test/fail_compilation/fail8009.d
gcc/testsuite/gdc.test/fail_compilation/fail8032.d
gcc/testsuite/gdc.test/fail_compilation/fail8313.d
gcc/testsuite/gdc.test/fail_compilation/fail8691.d
gcc/testsuite/gdc.test/fail_compilation/fail9301.d
gcc/testsuite/gdc.test/fail_compilation/fail94.d
gcc/testsuite/gdc.test/fail_compilation/fail9613.d
gcc/testsuite/gdc.test/fail_compilation/failinout1.d
gcc/testsuite/gdc.test/fail_compilation/failinout2.d
gcc/testsuite/gdc.test/fail_compilation/failinout3748a.d
gcc/testsuite/gdc.test/fail_compilation/failinout3748b.d
gcc/testsuite/gdc.test/fail_compilation/failsafea.d
gcc/testsuite/gdc.test/fail_compilation/failsafeb.d
gcc/testsuite/gdc.test/fail_compilation/failsafec.d
gcc/testsuite/gdc.test/fail_compilation/fix350a.d
gcc/testsuite/gdc.test/fail_compilation/fix350b.d
gcc/testsuite/gdc.test/fail_compilation/ice10273.d
gcc/testsuite/gdc.test/fail_compilation/ice10283.d
gcc/testsuite/gdc.test/fail_compilation/ice10599.d
gcc/testsuite/gdc.test/fail_compilation/ice11963.d
gcc/testsuite/gdc.test/fail_compilation/ice11965.d
gcc/testsuite/gdc.test/fail_compilation/ice11967.d
gcc/testsuite/gdc.test/fail_compilation/ice11968.d
gcc/testsuite/gdc.test/fail_compilation/ice11974.d
gcc/testsuite/gdc.test/fail_compilation/ice11982.d
gcc/testsuite/gdc.test/fail_compilation/ice12673.d
gcc/testsuite/gdc.test/fail_compilation/ice13644.d
gcc/testsuite/gdc.test/fail_compilation/ice15855.d
gcc/testsuite/gdc.test/fail_compilation/ice7782.d
gcc/testsuite/gdc.test/fail_compilation/ice8604.d
gcc/testsuite/gdc.test/fail_compilation/ice8630.d
gcc/testsuite/gdc.test/fail_compilation/ice8742.d
gcc/testsuite/gdc.test/fail_compilation/ice9013.d
gcc/testsuite/gdc.test/fail_compilation/ice9254a.d
gcc/testsuite/gdc.test/fail_compilation/ice9254b.d
gcc/testsuite/gdc.test/fail_compilation/ice9254c.d
gcc/testsuite/gdc.test/fail_compilation/imphint.d
gcc/testsuite/gdc.test/fail_compilation/staticarrayoverflow.d
gcc/testsuite/gdc.test/fail_compilation/test1.d
gcc/testsuite/gdc.test/fail_compilation/test11176.d
gcc/testsuite/gdc.test/fail_compilation/test143.d
gcc/testsuite/gdc.test/fail_compilation/test15399.d
gcc/testsuite/gdc.test/fail_compilation/test16188.d
gcc/testsuite/gdc.test/fail_compilation/test5412a.d
gcc/testsuite/gdc.test/fail_compilation/test5412b.d
gcc/testsuite/gdc.test/fail_compilation/test5412c.d
gcc/testsuite/gdc.test/fail_compilation/test5412c2.di [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/test8509.d
gcc/testsuite/gdc.test/fail_compilation/test8751.d
gcc/testsuite/gdc.test/runnable/aliasthis.d
gcc/testsuite/gdc.test/runnable/constfold.d
gcc/testsuite/gdc.test/runnable/ctorpowtests.d
gcc/testsuite/gdc.test/runnable/declaration.d
gcc/testsuite/gdc.test/runnable/foreach5.d
gcc/testsuite/gdc.test/runnable/funclit.d
gcc/testsuite/gdc.test/runnable/future.d
gcc/testsuite/gdc.test/runnable/imports/link15194std.d
gcc/testsuite/gdc.test/runnable/interpret.d
gcc/testsuite/gdc.test/runnable/lazy.d
gcc/testsuite/gdc.test/runnable/link10920.d
gcc/testsuite/gdc.test/runnable/link15021.d
gcc/testsuite/gdc.test/runnable/link6574.d
gcc/testsuite/gdc.test/runnable/mangle.d
gcc/testsuite/gdc.test/runnable/mixin2.d
gcc/testsuite/gdc.test/runnable/nested.d
gcc/testsuite/gdc.test/runnable/nulltype.d
gcc/testsuite/gdc.test/runnable/property2.d
gcc/testsuite/gdc.test/runnable/sdtor.d
gcc/testsuite/gdc.test/runnable/stress.d
gcc/testsuite/gdc.test/runnable/structlit.d
gcc/testsuite/gdc.test/runnable/template3.d
gcc/testsuite/gdc.test/runnable/template4.d
gcc/testsuite/gdc.test/runnable/template8.d
gcc/testsuite/gdc.test/runnable/template9.d
gcc/testsuite/gdc.test/runnable/test15.d
gcc/testsuite/gdc.test/runnable/test22.d
gcc/testsuite/gdc.test/runnable/test34.d
gcc/testsuite/gdc.test/runnable/test42.d
gcc/testsuite/gdc.test/runnable/test8.d
gcc/testsuite/gdc.test/runnable/testaa.d
gcc/testsuite/gdc.test/runnable/testaa2.d
gcc/testsuite/gdc.test/runnable/testassign.d
gcc/testsuite/gdc.test/runnable/testconst.d
gcc/testsuite/gdc.test/runnable/testdstress.d
gcc/testsuite/gdc.test/runnable/testenum.d
gcc/testsuite/gdc.test/runnable/testmodule.d
gcc/testsuite/gdc.test/runnable/testrightthis.d
gcc/testsuite/gdc.test/runnable/testscope2.d
gcc/testsuite/gdc.test/runnable/traits.d
gcc/testsuite/gdc.test/runnable/uda.d
gcc/testsuite/gdc.test/runnable/xtest46.d

index a34fd4138d740e5d31e9a66a31c5c55863c74ebf..435bf31e8b08cffb087093d71af6cf34d5f7e376 100644 (file)
@@ -1,4 +1,4 @@
-9bba772fa67c6864e551bc87097402f691d947d4
+cb1106ad5bea4293cd302b0ba1f3ce08905d40fe
 
 The first line of this file holds the git revision number of the last
 merge done from the dlang/dmd repository.
index e7d2f77500e4b2c2f6bc9506a86e41f868c7ddfc..09360a8bec21cd955167012c6962e46bb5155e25 100644 (file)
@@ -2,7 +2,7 @@
 //    http://www.digitalmars.com/d/archives/digitalmars/D/announce/4374.html
 //    http://www.99-bottles-of-beer.net/language-d-1212.html
 
-// Displays the "99 bottles of beer" song at compile time,
+// Generates the "99 bottles of beer" song at compile time,
 // using the template metaprograming facilities of D. 
 // No executable is generated. No libraries are used.
 // Illustrates template default values, template string value parameters,
@@ -49,4 +49,505 @@ template beer(int maxbeers, int n = maxbeers)
         ~ showHowMany!( maxbeers, " on the wall.");
 }
 
-pragma(msg, beer!(99));
+enum expected = `99 bottles of beer on the wall,
+99 bottles of beer.
+Take one down and pass it around, 
+98 bottles of beer on the wall.
+
+98 bottles of beer on the wall,
+98 bottles of beer.
+Take one down and pass it around, 
+97 bottles of beer on the wall.
+
+97 bottles of beer on the wall,
+97 bottles of beer.
+Take one down and pass it around, 
+96 bottles of beer on the wall.
+
+96 bottles of beer on the wall,
+96 bottles of beer.
+Take one down and pass it around, 
+95 bottles of beer on the wall.
+
+95 bottles of beer on the wall,
+95 bottles of beer.
+Take one down and pass it around, 
+94 bottles of beer on the wall.
+
+94 bottles of beer on the wall,
+94 bottles of beer.
+Take one down and pass it around, 
+93 bottles of beer on the wall.
+
+93 bottles of beer on the wall,
+93 bottles of beer.
+Take one down and pass it around, 
+92 bottles of beer on the wall.
+
+92 bottles of beer on the wall,
+92 bottles of beer.
+Take one down and pass it around, 
+91 bottles of beer on the wall.
+
+91 bottles of beer on the wall,
+91 bottles of beer.
+Take one down and pass it around, 
+90 bottles of beer on the wall.
+
+90 bottles of beer on the wall,
+90 bottles of beer.
+Take one down and pass it around, 
+89 bottles of beer on the wall.
+
+89 bottles of beer on the wall,
+89 bottles of beer.
+Take one down and pass it around, 
+88 bottles of beer on the wall.
+
+88 bottles of beer on the wall,
+88 bottles of beer.
+Take one down and pass it around, 
+87 bottles of beer on the wall.
+
+87 bottles of beer on the wall,
+87 bottles of beer.
+Take one down and pass it around, 
+86 bottles of beer on the wall.
+
+86 bottles of beer on the wall,
+86 bottles of beer.
+Take one down and pass it around, 
+85 bottles of beer on the wall.
+
+85 bottles of beer on the wall,
+85 bottles of beer.
+Take one down and pass it around, 
+84 bottles of beer on the wall.
+
+84 bottles of beer on the wall,
+84 bottles of beer.
+Take one down and pass it around, 
+83 bottles of beer on the wall.
+
+83 bottles of beer on the wall,
+83 bottles of beer.
+Take one down and pass it around, 
+82 bottles of beer on the wall.
+
+82 bottles of beer on the wall,
+82 bottles of beer.
+Take one down and pass it around, 
+81 bottles of beer on the wall.
+
+81 bottles of beer on the wall,
+81 bottles of beer.
+Take one down and pass it around, 
+80 bottles of beer on the wall.
+
+80 bottles of beer on the wall,
+80 bottles of beer.
+Take one down and pass it around, 
+79 bottles of beer on the wall.
+
+79 bottles of beer on the wall,
+79 bottles of beer.
+Take one down and pass it around, 
+78 bottles of beer on the wall.
+
+78 bottles of beer on the wall,
+78 bottles of beer.
+Take one down and pass it around, 
+77 bottles of beer on the wall.
+
+77 bottles of beer on the wall,
+77 bottles of beer.
+Take one down and pass it around, 
+76 bottles of beer on the wall.
+
+76 bottles of beer on the wall,
+76 bottles of beer.
+Take one down and pass it around, 
+75 bottles of beer on the wall.
+
+75 bottles of beer on the wall,
+75 bottles of beer.
+Take one down and pass it around, 
+74 bottles of beer on the wall.
+
+74 bottles of beer on the wall,
+74 bottles of beer.
+Take one down and pass it around, 
+73 bottles of beer on the wall.
+
+73 bottles of beer on the wall,
+73 bottles of beer.
+Take one down and pass it around, 
+72 bottles of beer on the wall.
+
+72 bottles of beer on the wall,
+72 bottles of beer.
+Take one down and pass it around, 
+71 bottles of beer on the wall.
+
+71 bottles of beer on the wall,
+71 bottles of beer.
+Take one down and pass it around, 
+70 bottles of beer on the wall.
+
+70 bottles of beer on the wall,
+70 bottles of beer.
+Take one down and pass it around, 
+69 bottles of beer on the wall.
+
+69 bottles of beer on the wall,
+69 bottles of beer.
+Take one down and pass it around, 
+68 bottles of beer on the wall.
+
+68 bottles of beer on the wall,
+68 bottles of beer.
+Take one down and pass it around, 
+67 bottles of beer on the wall.
+
+67 bottles of beer on the wall,
+67 bottles of beer.
+Take one down and pass it around, 
+66 bottles of beer on the wall.
+
+66 bottles of beer on the wall,
+66 bottles of beer.
+Take one down and pass it around, 
+65 bottles of beer on the wall.
+
+65 bottles of beer on the wall,
+65 bottles of beer.
+Take one down and pass it around, 
+64 bottles of beer on the wall.
+
+64 bottles of beer on the wall,
+64 bottles of beer.
+Take one down and pass it around, 
+63 bottles of beer on the wall.
+
+63 bottles of beer on the wall,
+63 bottles of beer.
+Take one down and pass it around, 
+62 bottles of beer on the wall.
+
+62 bottles of beer on the wall,
+62 bottles of beer.
+Take one down and pass it around, 
+61 bottles of beer on the wall.
+
+61 bottles of beer on the wall,
+61 bottles of beer.
+Take one down and pass it around, 
+60 bottles of beer on the wall.
+
+60 bottles of beer on the wall,
+60 bottles of beer.
+Take one down and pass it around, 
+59 bottles of beer on the wall.
+
+59 bottles of beer on the wall,
+59 bottles of beer.
+Take one down and pass it around, 
+58 bottles of beer on the wall.
+
+58 bottles of beer on the wall,
+58 bottles of beer.
+Take one down and pass it around, 
+57 bottles of beer on the wall.
+
+57 bottles of beer on the wall,
+57 bottles of beer.
+Take one down and pass it around, 
+56 bottles of beer on the wall.
+
+56 bottles of beer on the wall,
+56 bottles of beer.
+Take one down and pass it around, 
+55 bottles of beer on the wall.
+
+55 bottles of beer on the wall,
+55 bottles of beer.
+Take one down and pass it around, 
+54 bottles of beer on the wall.
+
+54 bottles of beer on the wall,
+54 bottles of beer.
+Take one down and pass it around, 
+53 bottles of beer on the wall.
+
+53 bottles of beer on the wall,
+53 bottles of beer.
+Take one down and pass it around, 
+52 bottles of beer on the wall.
+
+52 bottles of beer on the wall,
+52 bottles of beer.
+Take one down and pass it around, 
+51 bottles of beer on the wall.
+
+51 bottles of beer on the wall,
+51 bottles of beer.
+Take one down and pass it around, 
+50 bottles of beer on the wall.
+
+50 bottles of beer on the wall,
+50 bottles of beer.
+Take one down and pass it around, 
+49 bottles of beer on the wall.
+
+49 bottles of beer on the wall,
+49 bottles of beer.
+Take one down and pass it around, 
+48 bottles of beer on the wall.
+
+48 bottles of beer on the wall,
+48 bottles of beer.
+Take one down and pass it around, 
+47 bottles of beer on the wall.
+
+47 bottles of beer on the wall,
+47 bottles of beer.
+Take one down and pass it around, 
+46 bottles of beer on the wall.
+
+46 bottles of beer on the wall,
+46 bottles of beer.
+Take one down and pass it around, 
+45 bottles of beer on the wall.
+
+45 bottles of beer on the wall,
+45 bottles of beer.
+Take one down and pass it around, 
+44 bottles of beer on the wall.
+
+44 bottles of beer on the wall,
+44 bottles of beer.
+Take one down and pass it around, 
+43 bottles of beer on the wall.
+
+43 bottles of beer on the wall,
+43 bottles of beer.
+Take one down and pass it around, 
+42 bottles of beer on the wall.
+
+42 bottles of beer on the wall,
+42 bottles of beer.
+Take one down and pass it around, 
+41 bottles of beer on the wall.
+
+41 bottles of beer on the wall,
+41 bottles of beer.
+Take one down and pass it around, 
+40 bottles of beer on the wall.
+
+40 bottles of beer on the wall,
+40 bottles of beer.
+Take one down and pass it around, 
+39 bottles of beer on the wall.
+
+39 bottles of beer on the wall,
+39 bottles of beer.
+Take one down and pass it around, 
+38 bottles of beer on the wall.
+
+38 bottles of beer on the wall,
+38 bottles of beer.
+Take one down and pass it around, 
+37 bottles of beer on the wall.
+
+37 bottles of beer on the wall,
+37 bottles of beer.
+Take one down and pass it around, 
+36 bottles of beer on the wall.
+
+36 bottles of beer on the wall,
+36 bottles of beer.
+Take one down and pass it around, 
+35 bottles of beer on the wall.
+
+35 bottles of beer on the wall,
+35 bottles of beer.
+Take one down and pass it around, 
+34 bottles of beer on the wall.
+
+34 bottles of beer on the wall,
+34 bottles of beer.
+Take one down and pass it around, 
+33 bottles of beer on the wall.
+
+33 bottles of beer on the wall,
+33 bottles of beer.
+Take one down and pass it around, 
+32 bottles of beer on the wall.
+
+32 bottles of beer on the wall,
+32 bottles of beer.
+Take one down and pass it around, 
+31 bottles of beer on the wall.
+
+31 bottles of beer on the wall,
+31 bottles of beer.
+Take one down and pass it around, 
+30 bottles of beer on the wall.
+
+30 bottles of beer on the wall,
+30 bottles of beer.
+Take one down and pass it around, 
+29 bottles of beer on the wall.
+
+29 bottles of beer on the wall,
+29 bottles of beer.
+Take one down and pass it around, 
+28 bottles of beer on the wall.
+
+28 bottles of beer on the wall,
+28 bottles of beer.
+Take one down and pass it around, 
+27 bottles of beer on the wall.
+
+27 bottles of beer on the wall,
+27 bottles of beer.
+Take one down and pass it around, 
+26 bottles of beer on the wall.
+
+26 bottles of beer on the wall,
+26 bottles of beer.
+Take one down and pass it around, 
+25 bottles of beer on the wall.
+
+25 bottles of beer on the wall,
+25 bottles of beer.
+Take one down and pass it around, 
+24 bottles of beer on the wall.
+
+24 bottles of beer on the wall,
+24 bottles of beer.
+Take one down and pass it around, 
+23 bottles of beer on the wall.
+
+23 bottles of beer on the wall,
+23 bottles of beer.
+Take one down and pass it around, 
+22 bottles of beer on the wall.
+
+22 bottles of beer on the wall,
+22 bottles of beer.
+Take one down and pass it around, 
+21 bottles of beer on the wall.
+
+21 bottles of beer on the wall,
+21 bottles of beer.
+Take one down and pass it around, 
+20 bottles of beer on the wall.
+
+20 bottles of beer on the wall,
+20 bottles of beer.
+Take one down and pass it around, 
+19 bottles of beer on the wall.
+
+19 bottles of beer on the wall,
+19 bottles of beer.
+Take one down and pass it around, 
+18 bottles of beer on the wall.
+
+18 bottles of beer on the wall,
+18 bottles of beer.
+Take one down and pass it around, 
+17 bottles of beer on the wall.
+
+17 bottles of beer on the wall,
+17 bottles of beer.
+Take one down and pass it around, 
+16 bottles of beer on the wall.
+
+16 bottles of beer on the wall,
+16 bottles of beer.
+Take one down and pass it around, 
+15 bottles of beer on the wall.
+
+15 bottles of beer on the wall,
+15 bottles of beer.
+Take one down and pass it around, 
+14 bottles of beer on the wall.
+
+14 bottles of beer on the wall,
+14 bottles of beer.
+Take one down and pass it around, 
+13 bottles of beer on the wall.
+
+13 bottles of beer on the wall,
+13 bottles of beer.
+Take one down and pass it around, 
+12 bottles of beer on the wall.
+
+12 bottles of beer on the wall,
+12 bottles of beer.
+Take one down and pass it around, 
+11 bottles of beer on the wall.
+
+11 bottles of beer on the wall,
+11 bottles of beer.
+Take one down and pass it around, 
+10 bottles of beer on the wall.
+
+10 bottles of beer on the wall,
+10 bottles of beer.
+Take one down and pass it around, 
+9 bottles of beer on the wall.
+
+9 bottles of beer on the wall,
+9 bottles of beer.
+Take one down and pass it around, 
+8 bottles of beer on the wall.
+
+8 bottles of beer on the wall,
+8 bottles of beer.
+Take one down and pass it around, 
+7 bottles of beer on the wall.
+
+7 bottles of beer on the wall,
+7 bottles of beer.
+Take one down and pass it around, 
+6 bottles of beer on the wall.
+
+6 bottles of beer on the wall,
+6 bottles of beer.
+Take one down and pass it around, 
+5 bottles of beer on the wall.
+
+5 bottles of beer on the wall,
+5 bottles of beer.
+Take one down and pass it around, 
+4 bottles of beer on the wall.
+
+4 bottles of beer on the wall,
+4 bottles of beer.
+Take one down and pass it around, 
+3 bottles of beer on the wall.
+
+3 bottles of beer on the wall,
+3 bottles of beer.
+Take one down and pass it around, 
+2 bottles of beer on the wall.
+
+2 bottles of beer on the wall,
+2 bottles of beer.
+Take one down and pass it around, 
+1 bottle of beer on the wall.
+
+1 bottle of beer on the wall,
+1 bottle of beer.
+Take one down and pass it around, 
+no more bottles of beer on the wall.
+
+No more bottles of beer on the wall,
+no more bottles of beer.
+Go to the store and buy some more, 
+99 bottles of beer on the wall.
+`;
+
+static assert(beer!(99) == expected);
index 08726cb82727cede193a0d012b41f54372cf534d..e28ad181b5d56465e6179ca7c0659ab1293710dc 100644 (file)
@@ -1,4 +1,10 @@
 // REQUIRED_ARGS: -c
+/*
+TEST_OUTPUT:
+---
+&this
+---
+*/
 struct S0 {
     void foo() {
         pragma(msg, &this);
index 54091249d6088a63c3e8207fead9bcef5c2f408c..6bf5da9f3e224481b54cbc28fc7a2738c029a18d 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+compilable/b17111.d(16): Deprecation: `case` variables have to be `const` or `immutable`
+compilable/b17111.d(17): Deprecation: `case` variables have to be `const` or `immutable`
+---
+*/
 alias TestType = ubyte;
 
 void test()
index 61669c2090c7fc5a1fc1e38e8c5b9a51105cb46b..86d84af617ae05424f3ff3525a2d657b4c640049 100644 (file)
@@ -15,9 +15,9 @@ static assert(C1748!int.stringof == "C1748!int");
 **************************************************/
 
 version(all)
-    pragma(msg, "true");
+    pragma(inline, true);
 else
-    pragma(msg, "false");
+    pragma(inline, false);
 
 /**************************************************
     2438
@@ -78,7 +78,7 @@ template ice8982(T)
     void bug8982(ref const int v = 7){}
 
     static if (is(typeof(bug8982) P == __parameters)) {
-        pragma(msg, ((P[0..1] g) => g[0])());
+        enum eval8982 = ((P[0..1] g) => g[0])();
     }
 }
 
@@ -275,7 +275,7 @@ void main()
     try
     {
     }
-    catch
+    catch(.object.Throwable)
     {
     }
 }
@@ -298,7 +298,7 @@ void test11939()
 **************************************************/
 
 template A(B) {
-    pragma(msg, "missing ;")
+    pragma(lib, "missing ;")
     enum X = 0;
 }
 
@@ -766,7 +766,7 @@ struct A12799
 /***************************************************/
 // 13236
 
-pragma(msg, is(typeof({ struct S { S x; } })));
+enum bug13286 = is(typeof({ struct S { S x; } }));
 
 /***************************************************/
 // 13280
@@ -857,14 +857,15 @@ X14166[int] makeAA14166() { return aa14166; }
 struct Tup14166(T...) { T field; alias field this; }
 Tup14166!(int, int) tup14166;
 Tup14166!(int, int) makeTup14166() { return tup14166; }
-
-pragma(msg, typeof((s14166.x += 1) = 2));    // ok <- error
-pragma(msg, typeof(s14166.a.length += 2));   // ok <- error
-pragma(msg, typeof(s14166++));               // ok <- error
-pragma(msg, typeof(s14166.x ^^ 2));          // ok <- error
-pragma(msg, typeof(s14166.y ^^= 2.5));       // ok <- error
-pragma(msg, typeof(makeAA14166()[0] = 1));   // ok <- error
-pragma(msg, typeof(tup14166.field = makeTup14166()));   // ok <- error
+alias TT14166(T...) = T;
+
+static assert(is(typeof((s14166.x += 1) = 2) == int));     // ok <- error
+static assert(is(typeof(s14166.a.length += 2) == size_t)); // ok <- error
+static assert(is(typeof(s14166++) == S14166));             // ok <- error
+static assert(is(typeof(s14166.x ^^ 2) == int));           // ok <- error
+static assert(is(typeof(s14166.y ^^= 2.5) == double));     // ok <- error
+static assert(is(typeof(makeAA14166()[0] = 1) == X14166)); // ok <- error
+static assert(is(typeof(tup14166.field = makeTup14166()) == TT14166!(int, int))); // ok <- error
 
 /***************************************************/
 // 14388
index bc00b69e83e2eada5d151f976e24f77ba8a24361..1bcae41123291359c9a1e2627f455cfcaf64f321 100644 (file)
@@ -1,7 +1,7 @@
 // EXTRA_SOURCES: extra-files/ddoc3.ddoc
 // PERMUTE_ARGS:
 // REQUIRED_ARGS: -D -Dd${RESULTS_DIR}/compilable -o-
-// POST_SCRIPT: compilable/extra-files/ddocAny-postscript.sh 3
+// POST_SCRIPT: compilable/extra-files/ddocAny-postscript.sh
 
 /**
  * Summary
diff --git a/gcc/testsuite/gdc.test/compilable/imports/test15117a.d b/gcc/testsuite/gdc.test/compilable/imports/test15117a.d
deleted file mode 100644 (file)
index 9daf6f1..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-module imports.test15117a;
-
-struct AssertResult {}
-
-auto test_usr_1()
-{
-    // 2. generate TyepInfoStructDeclaration
-    auto x = typeid(AssertResult);
-}
index 6e7304d742e20fe6a60ab158201aeb970d04a086..a2830ea11c229a514a68b7d01c7158aa187a4f8d 100644 (file)
@@ -1,4 +1,11 @@
-// PERMUTE_ARGS: -inline
+// PERMUTE_ARGS: -inline
+/*
+TEST_OUTPUT:
+---
+compilable/interpret3.d(2914): Deprecation: `case` variables have to be `const` or `immutable`
+compilable/interpret3.d(6351): Deprecation: identity comparison of static arrays implicitly coerces them to slices, which are compared by reference
+---
+*/
 
 template compiles(int T)
 {
index b208215bdb691c4facb7323e5b2e3d38495ef38b..6fb39fed44d1f73fea91cd71a77f82e7cd42cbf0 100644 (file)
@@ -3,7 +3,7 @@ import imports.test11563std_traits;
 interface J : I {} // comment out to let compilation succeed
 
 struct A { }
-pragma(msg, moduleName!A);
+static assert(moduleName!A == "b");
 
 
 interface I {}
index b075b9ede03b13304d4a0d99a540d3e96e02c2cc..b476c176283f2bf761feb665966dc3ad21c9c006 100644 (file)
@@ -2,9 +2,7 @@
 
 @system:
     alias Fun = void function() @safe;
-    pragma (msg, Fun.stringof);
     static assert(Fun.stringof == "void function() @safe");
     alias Del = void delegate() @safe;
-    pragma (msg, Del.stringof);
     static assert(Del.stringof == "void delegate() @safe");
 
index c2948759a14d0e362821c764339a052a014e9a0d..963dba8fc37ef82418d40f14aff93b65fa5c2341 100644 (file)
@@ -42,15 +42,15 @@ alias mat4x4 mat4;
 string definePostfixAliases(string type)
 {
     return "alias " ~ type ~ "!byte "   ~ type ~ "b;\n"
-"alias " ~ type ~ "!ubyte "  ~ type ~ "ub;\n"
-"alias " ~ type ~ "!short "  ~ type ~ "s;\n"
-"alias " ~ type ~ "!ushort " ~ type ~ "us;\n"
-"alias " ~ type ~ "!int "    ~ type ~ "i;\n"
-"alias " ~ type ~ "!uint "   ~ type ~ "ui;\n"
-"alias " ~ type ~ "!long "   ~ type ~ "l;\n"
-"alias " ~ type ~ "!ulong "  ~ type ~ "ul;\n"
-"alias " ~ type ~ "!float "  ~ type ~ "f;\n"
-"alias " ~ type ~ "!double " ~ type ~ "d;\n";
+"alias " ~ type ~ "!ubyte "  ~ type ~ "ub;\n"
+"alias " ~ type ~ "!short "  ~ type ~ "s;\n"
+"alias " ~ type ~ "!ushort " ~ type ~ "us;\n"
+"alias " ~ type ~ "!int "    ~ type ~ "i;\n"
+"alias " ~ type ~ "!uint "   ~ type ~ "ui;\n"
+"alias " ~ type ~ "!long "   ~ type ~ "l;\n"
+"alias " ~ type ~ "!ulong "  ~ type ~ "ul;\n"
+"alias " ~ type ~ "!float "  ~ type ~ "f;\n"
+"alias " ~ type ~ "!double " ~ type ~ "d;\n";
 }
 
 // define a lot of type names
diff --git a/gcc/testsuite/gdc.test/compilable/test15177.d b/gcc/testsuite/gdc.test/compilable/test15177.d
deleted file mode 100644 (file)
index 0bb2d04..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// REQUIRED_ARGS: -o-
-// PERMUTE_ARGS:
-// EXTRA_SOURCES: imports/test15117a.d
-
-import users = imports.test15117a;
-
-void RunApiTest(T...)()
-{
-    foreach (name; __traits(allMembers, users))
-    {
-        // 3. list the name of TyepInfoStructDeclaration,
-        //    but it's just internal symbol and invisible.
-        mixin("alias func = users . " ~ name ~ ";");
-    }
-}
-
-void main()
-{
-    // 1. run semantic3 of users.test_usr_1
-    users.test_usr_1();
-
-    RunApiTest!();
-}
index 05c942b2432c875451284eede6fe18f110e9592d..c88f5d08f9c440ae562696e782b472ebbd25a04f 100644 (file)
@@ -5,19 +5,19 @@ private struct _NestedSym_
 {
     static if ((void*).sizeof == 8)
     {
-        pragma(msg, "64");
+        int pointersize = 64;
     }
     else
     {
-        pragma(msg, "32");
+        int pointersize = 32;
     }
 
     version (X86_64)
     {
-        pragma(msg, "X86_64");
+        string arch = "X86_64";
     }
     else
     {
-        pragma(msg, "Not 64");
+        string arch = "Not 64";
     }
 }
index 6c85e0cad5fd1a807c1b56c95141130c97c5ebc2..e4ce7effc362987c8dbb1fa088086a1bbbf727f2 100644 (file)
@@ -12,8 +12,8 @@ extern(C++) struct CPP
 
 void test()
 {
-    pragma(msg, templ!(D.memvar));
-    pragma(msg, templ!(CPP.memvar));
-    // root cause, C++ member variables have no mangling
-    pragma(msg, CPP.memvar.mangleof);
+    static assert(templ!(D.memvar) == 1234);
+    static assert(templ!(CPP.memvar) == 1234);
+    // ICE: root cause, C++ member variables have no mangling
+    enum CPPmemvar = CPP.memvar.mangleof;
 }
index 403c9aa456c8773ca5a849c23eec79788f538cc1..98e31f4c3241ef8993b0e7c736ee6080750deb63 100644 (file)
@@ -1,4 +1,4 @@
 import std.typecons : tuple;
 enum foo = tuple(1, 2).expand;
-pragma(msg, typeof(foo).stringof);
-pragma(msg, foo.stringof);
+static assert(typeof(foo).stringof == "(int, int)");
+static assert(foo.stringof == "tuple(1, 2)");
index 7188758414c8c06ca708f3b975e9939298116258..38bce3850f257fb2f0dd57caaa8bd3a51a2468d3 100644 (file)
@@ -34,7 +34,6 @@ void test7()
     static import pkgDIP37.datetime;
     static assert(!__traits(compiles, def()));
     pkgDIP37.datetime.def();
-    pkgDIP37.datetime.common.def();
 }
 
 // https://issues.dlang.org/show_bug.cgi?id=17629
index 5a8e1e26ac68d3528828cba3f0eb18c4905fb5d2..3248f3e10352ddcefba962f332c59799356c2d6e 100644 (file)
@@ -653,7 +653,7 @@ void foo10296()()
 
     void bar()() { a[1] = 2; }
     bar();
-    pragma(msg, typeof(bar!()));    // nothrow @safe void()
+    static assert(typeof(bar!()).stringof == "pure nothrow @nogc @safe void()");    // nothrow @safe void()
 }
 pure void test10296()
 {
@@ -811,7 +811,7 @@ void test13840() nothrow
             func13840();        // throwable function call
         }
     }
-    catch
+    catch(Throwable)
     {}
 }
 
index c46728d64c9aa82233effad322f961ee4bfff28d..256a1fe0bd989bec363e89432a726c020a57813c 100644 (file)
@@ -1,6 +1,12 @@
 // EXTRA_SOURCES: extra-files/header1.d
 // REQUIRED_ARGS: -o- -unittest -H -Hf${RESULTS_DIR}/compilable/header1.di
 // PERMUTE_ARGS: -d -dw
-// POST_SCRIPT: compilable/extra-files/header-postscript.sh header1
+// POST_SCRIPT: compilable/extra-files/header-postscript.sh
+/*
+TEST_OUTPUT:
+---
+Hello World
+---
+*/
 
 void main() {}
index 98599925965f4c31384acf898cd9c8f28eda2c6b..0eca3c44c191a5f35fadcec7de042624e41c17f0 100644 (file)
@@ -1,6 +1,12 @@
 // EXTRA_SOURCES: extra-files/header1.d
 // REQUIRED_ARGS: -o- -H -Hf${RESULTS_DIR}/compilable/header1i.di -inline
 // PERMUTE_ARGS: -d -dw
-// POST_SCRIPT: compilable/extra-files/header-postscript.sh header1i
+// POST_SCRIPT: compilable/extra-files/header-postscript.sh
+/*
+TEST_OUTPUT:
+---
+Hello World
+---
+*/
 
 void main() {}
index d6713ad40c2e41c16dd9fee568a57526b0aa3148..f514146469225955eab1497d0bafe5fa6c4037be 100644 (file)
@@ -4,7 +4,7 @@
 /***************************************************/
 // 6719
 
-pragma(msg, __traits(compiles, mixin("(const(A))[0..0]")));
+static assert(__traits(compiles, mixin("(const(A))[0..0]")) == false);
 
 /***************************************************/
 // 9232
index 7878af75b5475e79c88fa4cdbf19e86562ee32ac..b2f7d1d375ef4638d32defc6051d814fa36cd964 100644 (file)
@@ -1,4 +1,9 @@
-// REQUIRED_ARGS:
+/*
+TEST_OUTPUT:
+---
+fail_compilation/bug5.d(8): Error: function `bug5.test1` no `return exp;` or `assert(0);` at end of function
+---
+*/
 
 int test1()
 {
index ca7ddd905e4ae679d6e1c02f6d3aeea3fbeb723c..8ba5717548f03febf7150e7edc9f0c66fac12769 100644 (file)
@@ -1,4 +1,9 @@
-// REQUIRED_ARGS:
+/*
+TEST_OUTPUT:
+---
+fail_compilation/bug5b.d(8): Error: function `bug5b.test1` has no `return` statement, but is expected to return a value of type `int`
+---
+*/
 
 int test1()
 {
index 906b73c3fcc88467b78606775ac87b313f845582..a03f850ae80d6ac67762307c831286baea72690e 100644 (file)
@@ -1,4 +1,11 @@
-// Bugzilla 8150: nothrow check doesn't work for constructor
+// https://issues.dlang.org/show_bug.cgi?id=8150: nothrow check doesn't work for constructor
+/*
+TEST_OUTPUT:
+---
+fail_compilation/bug8150a.d(14): Error: `object.Exception` is thrown but not caught
+fail_compilation/bug8150a.d(12): Error: `nothrow` constructor `bug8150a.Foo.this` may throw
+---
+*/
 
 struct Foo
 {
index b861aeecc8b09c6f5ced2a0f0c461c45496bb3da..2091bc8cc2d6c1af1ca309bc37b592e5efde89fb 100644 (file)
@@ -1,4 +1,12 @@
-// Bugzilla 8150: nothrow check doesn't work for constructor
+// https://issues.dlang.org/show_bug.cgi?id=8150: nothrow check doesn't work for constructor
+/*
+TEST_OUTPUT:
+---
+fail_compilation/bug8150b.d(15): Error: `object.Exception` is thrown but not caught
+fail_compilation/bug8150b.d(13): Error: `nothrow` constructor `bug8150b.Foo.__ctor!().this` may throw
+fail_compilation/bug8150b.d(20): Error: template instance `bug8150b.Foo.__ctor!()` error instantiating
+---
+*/
 
 struct Foo
 {
index 1d163c770eacdfe9bd323ef68806c45cce20e556..38f9ccbe12b8e8facd55f303bd206796b8da640b 100644 (file)
@@ -1 +1,11 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/diag10327.d(11): Error: module `test10327` is in file 'imports/test10327.d' which cannot be read
+import path[0] = fail_compilation
+import path[1] = $p:druntime/import$
+import path[2] = $p:phobos$
+---
+*/
+
 import imports.test10327;  // package.d missing
index 14f2d8432b49659f843ad769085e57ec9c354cbd..a7714c9d852e9ce0458ad9cd98277d8a07fb8f64 100644 (file)
@@ -1,4 +1,5 @@
 /*
+TEST_OUTPUT:
 ---
 fail_compilation/diag15713.d(18): Error: no property 'widthSign' for type 'Data'
 fail_compilation/diag15713.d(38): Error: template instance test.conwritefImpl!("parse-int", "width", "\x0a", Data()) error instantiating
index 7e455f37532c32ccf8bb20b1f10dbff9a30e1336..2111844d56dc22e5f6a7c00a0630f4647afd694b 100644 (file)
@@ -1,6 +1,14 @@
 // Issue 76 - Using a non-template struct as a template
 // Compiling leads to "Assertion failure: 's->parent' on line 1694 in file
 // 'template.c'"
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail104.d(26): Error: template instance `P!()` `P` is not a template declaration, it is a alias
+fail_compilation/fail104.d(26): Error: mixin `fail104.C!(S).C.T!()` is not defined
+fail_compilation/fail104.d(31): Error: template instance `fail104.C!(S)` error instantiating
+---
+*/
 
 struct S
 {
index 2028648d308a778eef8e064e272ad992742c786d..6181d946bd50bffe544fbbfc3d65d89dc0533650 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail10905.d(20): Error: incompatible types for `(this.x) == (cast(const(__vector(long[2])))cast(__vector(long[2]))1L)`: both operands are of type `const(__vector(long[2]))`
+---
+*/
 
 struct Foo
 {
index e9d5a67d2930c9d15849448aa4a9d290525cc5ec..4990b66f1f93c212238dfeac22da7301d1844ba5 100644 (file)
@@ -1,4 +1,11 @@
-// Issue 402 - compiler crash with mixin and forward reference
+// https://issues.dlang.org/show_bug.cgi?id=402
+// compiler crash with mixin and forward reference
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail115.d(17): Error: mixin `Foo!y` cannot resolve forward reference
+---
+*/
 
 template Foo(alias b)
 {
index 28f7befdf91b09b5e543557e3e3e7167c8876d05..b49cde9330be9b3af573e9950ae4087e7efd0b53 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail11503a.d(24): Error: cannot implicitly convert expression `makes()` of type `immutable(S)*` to `S*`
+---
+*/
 struct S
 {
     immutable(S)* s;
index 80549de8e6ca4ebf2d4897f780c2fe7f1d031110..ebfbbfdc4472158bf9f368d8bb6c2e801a4e5bfe 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail11503b.d(17): Error: cannot implicitly convert expression `makes()` of type `immutable(int[])` to `int[]`
+---
+*/
 immutable int[] x = [1, 2, 3];
 
 auto makes() pure
index dc45eefc093922e66996dff746cd32be67edfcc8..ad3963f4e1510d7f7e7207845fd71f8f351f9add 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail11503c.d(19): Error: cannot implicitly convert expression `d.filename()` of type `const(char)[]` to `string`
+---
+*/
 struct Data
 {
     char[256] buffer;
index d96e2a8b249a80ba296a1161f1c69f83c283c791..d1605b27822e161b96378cc4af6b866585ad6ea9 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail11503d.d(26): Error: cannot implicitly convert expression `filename(d)` of type `const(char)[]` to `string`
+fail_compilation/fail11503d.d(27): Error: cannot implicitly convert expression `filename2(& d)` of type `const(char)[]` to `string`
+---
+*/
 struct Data2
 {
     char buffer;
index ad38cd790b884eea9ef7e4094ba0482ae58845c9..aa060e68d2934ba4a5d79a5d4aaea54431866d1b 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail12.d(17): Error: function `fail12.main.Foo!(y).abc` at fail_compilation/fail12.d(9) conflicts with function `fail12.main.Foo!(y).abc` at fail_compilation/fail12.d(9)
+---
+*/
 template Foo(alias b)
 {
     int abc() { return b; }
index 4bc8179d28291d60fa9a9d041ea103e591c8c587..70e9d0cd4be125f1f4f84418a342cfea477d94c9 100644 (file)
@@ -1,5 +1,12 @@
 // PERMUTE_ARGS: -d -dw
 // segfault on DMD0.150, never failed if use typeid() instead.
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail121.d(23): Error: no property `typeinfo` for type `fail121.myobject`
+fail_compilation/fail121.d(23): Error: no property `typeinfo` for type `int`
+---
+*/
 
 struct myobject
 {
diff --git a/gcc/testsuite/gdc.test/fail_compilation/fail12485.d b/gcc/testsuite/gdc.test/fail_compilation/fail12485.d
deleted file mode 100644 (file)
index e1b1577..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-void dorecursive()
-{
-    recursive!"ratherLongSymbolNameToHitTheMaximumSymbolLengthEarlierThanTheTemplateRecursionLimit_";
-}
-
-void recursive(string name)()
-{
-    struct S {} // define type to kick off mangler
-    static if (name.length <= (4 << 20))
-        recursive!(name ~ name);
-}
-
diff --git a/gcc/testsuite/gdc.test/fail_compilation/fail137.d b/gcc/testsuite/gdc.test/fail_compilation/fail137.d
deleted file mode 100644 (file)
index 80a2a25..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// 751 Compiler segfault on template expansion
-
-    template TypeTuple( TList... )
-    {
-        alias TList TypeTuple;
-    }
-
-    template IndexOf( T, TList... )
-    {
-        static if( TList.length == 0 )
-            const size_t IndexOf = 1;
-        else static if( is( T == typeof( TList[0] ) ) )
-            const size_t IndexOf = 0;
-        else
-            const size_t IndexOf = 1 + IndexOf!( T, (TList[1 .. $]) );
-    }
-
-    void main()
-    {
-        TypeTuple!(int, long) T;
-        printf( "%u\n", IndexOf!(long, T) );
-    }
-
index 0da6dc4b134f66a89659f32b246fdb4d603125de..a44d41cb80a4133dea9b8b314b94824255768ae7 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail14.d(10): Error: template instance `fail14.A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!(A!int))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))` recursive expansion exceeded allowed nesting limit
+---
+*/
 
 class A(T)
 {
index ca209aa5b989dad54d87bbb5b559e2e537638b0f..84af9cfbbd4ea492b8a4795aba95359f54c62e05 100644 (file)
@@ -1,5 +1,44 @@
 // REQUIRED_ARGS: -o-
 
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail14486.d(56): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/fail14486.d(56): Error: `delete c0` is not `@safe` but is used in `@safe` function `test1a`
+fail_compilation/fail14486.d(57): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/fail14486.d(57): Error: `pure` function `fail14486.test1a` cannot call impure destructor `fail14486.C1a.~this`
+fail_compilation/fail14486.d(57): Error: `@safe` function `fail14486.test1a` cannot call `@system` destructor `fail14486.C1a.~this`
+fail_compilation/fail14486.d(43):        `fail14486.C1a.~this` is declared here
+fail_compilation/fail14486.d(57): Error: `@nogc` function `fail14486.test1a` cannot call non-@nogc destructor `fail14486.C1a.~this`
+fail_compilation/fail14486.d(62): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/fail14486.d(63): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/fail14486.d(63): Error: destructor `fail14486.C1b.~this` is not `nothrow`
+fail_compilation/fail14486.d(60): Error: `nothrow` function `fail14486.test1b` may throw
+fail_compilation/fail14486.d(68): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/fail14486.d(68): Error: `delete s0` is not `@safe` but is used in `@safe` function `test2a`
+fail_compilation/fail14486.d(69): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/fail14486.d(69): Error: `pure` function `fail14486.test2a` cannot call impure destructor `fail14486.S1a.~this`
+fail_compilation/fail14486.d(69): Error: `@safe` function `fail14486.test2a` cannot call `@system` destructor `fail14486.S1a.~this`
+fail_compilation/fail14486.d(49):        `fail14486.S1a.~this` is declared here
+fail_compilation/fail14486.d(69): Error: `@nogc` function `fail14486.test2a` cannot call non-@nogc destructor `fail14486.S1a.~this`
+fail_compilation/fail14486.d(74): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/fail14486.d(75): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/fail14486.d(75): Error: destructor `fail14486.S1b.~this` is not `nothrow`
+fail_compilation/fail14486.d(72): Error: `nothrow` function `fail14486.test2b` may throw
+fail_compilation/fail14486.d(80): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/fail14486.d(80): Error: `delete a0` is not `@safe` but is used in `@safe` function `test3a`
+fail_compilation/fail14486.d(81): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/fail14486.d(81): Error: `pure` function `fail14486.test3a` cannot call impure destructor `fail14486.S1a.~this`
+fail_compilation/fail14486.d(81): Error: `@safe` function `fail14486.test3a` cannot call `@system` destructor `fail14486.S1a.~this`
+fail_compilation/fail14486.d(49):        `fail14486.S1a.~this` is declared here
+fail_compilation/fail14486.d(81): Error: `@nogc` function `fail14486.test3a` cannot call non-@nogc destructor `fail14486.S1a.~this`
+fail_compilation/fail14486.d(86): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/fail14486.d(87): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/fail14486.d(87): Error: destructor `fail14486.S1b.~this` is not `nothrow`
+fail_compilation/fail14486.d(84): Error: `nothrow` function `fail14486.test3b` may throw
+---
+*/
+
 class  C0a { }
 class  C1a {                  ~this() {} }
 class  C2a {                  ~this() {}  @nogc pure @safe delete(void* p) {} }
index 564ddda7eecca6bbef642a9d45d9993bea7671f7..0386b9a267553349b60c292874b9bd25c3c216b2 100644 (file)
@@ -1,4 +1,10 @@
 /*
+TEST_OUTPUT:
+---
+fail_compilation/fail15.d(24): Error: cannot use `[]` operator on expression of type `void`
+---
+*/
+/*
 Segfault on DMD 0.095
 http://www.digitalmars.com/d/archives/digitalmars/D/bugs/926.html
 */
index 53defaea1c3bf6af18abe2362b254e38dd88c945..4776f40439c0990611ee6e20c9edc4050e98ab5b 100644 (file)
@@ -1,5 +1,6 @@
 /*
 REQUIRED_ARGS: -v
+TEST_OUTPUT:
 ---
 fail_compilation/fail15616b.d(43): Error: none of the overloads of 'foo' are callable using argument types (double), candidates are:
 fail_compilation/fail15616b.d(16):        fail15616b.foo(int a)
index c9af9d30088c38acc2de9fb395db1d8c7db52747..6c7a90a625e8c376ec22b098e716da7f753d8547 100644 (file)
@@ -1,4 +1,11 @@
 // ICE(template.c) in DMD0.080
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail16.d(19): Error: function declaration without return type. (Note that constructors are always named `this`)
+fail_compilation/fail16.d(19): Error: no identifier for declarator `bar!(typeof(X))(X)`
+---
+*/
 
 int i;
 
index fa3b4888c12bc14b8ffcda87178c811e6f94e0ba..2c73d30886f47e75189a77edd58b674ca92d8417 100644 (file)
@@ -1,3 +1,11 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail17.d(11): Error: undefined identifier `B`
+fail_compilation/fail17.d(11): Error: mixin `fail17.A!int.A.B!(T, A!T)` is not defined
+fail_compilation/fail17.d(14): Error: template instance `fail17.A!int` error instantiating
+---
+*/
 struct A(T)
 {
     mixin B!(T, A!(T));
index 2a2812bb479bca056c6ae802dd70fbb3829240c5..78fc3615c957cb3cf40dcff24c6e6961176db7f1 100644 (file)
@@ -1,3 +1,25 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail196.d(26): Error: delimited string must end in )"
+fail_compilation/fail196.d(26): Error: Implicit string concatenation is error-prone and disallowed in D
+fail_compilation/fail196.d(26):        Use the explicit syntax instead (concatenating literals is `@nogc`): "foo(xxx)" ~ ";\x0a    assert(s == "
+fail_compilation/fail196.d(27): Error: semicolon expected, not `foo`
+fail_compilation/fail196.d(27): Error: found `");\x0a\x0a    s = q"` when expecting `;` following statement
+fail_compilation/fail196.d(29): Error: found `";\x0a    assert(s == "` when expecting `;` following statement
+fail_compilation/fail196.d(30): Error: found `");\x0a\x0a    s = q"` when expecting `;` following statement
+fail_compilation/fail196.d(32): Error: found `{` when expecting `;` following statement
+fail_compilation/fail196.d(32): Error: found `}` when expecting `;` following statement
+fail_compilation/fail196.d(33): Error: found `foo` when expecting `;` following statement
+fail_compilation/fail196.d(33): Error: found `}` when expecting `;` following statement
+fail_compilation/fail196.d(35): Error: found `<` when expecting `;` following statement
+fail_compilation/fail196.d(36): Error: found `foo` when expecting `;` following statement
+fail_compilation/fail196.d(36): Error: found `<` instead of statement
+fail_compilation/fail196.d(42): Error: unterminated string constant starting at fail_compilation/fail196.d(42)
+fail_compilation/fail196.d(44): Error: found `End of File` when expecting `}` following compound statement
+fail_compilation/fail196.d(44): Error: found `End of File` when expecting `}` following compound statement
+---
+*/
 
 void main()
 {
index 57c4caf34aba9c594e65d1e137807d918411fa5c..2120dc56997be2508ed98792e701fe59ca955852 100644 (file)
@@ -1,5 +1,6 @@
 // PERMUTE_ARGS:
 /*
+TEST_OUTPUT:
 ---
 fail_compilation/fail19890a.d(8): Error: `void[/^[0-9]+(LU)?$/]` size 1 * /^[0-9]+$/ exceeds 0x7fffffff size limit for static array
 ---
index a9b187418331f3e7d5d1bcb4b5c2840005d2a5cd..c3ee67793a3bd1ba07c7ca00bec267d593ccaf55 100644 (file)
@@ -1,5 +1,6 @@
 // PERMUTE_ARGS:
 /*
+TEST_OUTPUT:
 ---
 fail_compilation/fail19890b.d(8): Error: `void[/^[0-9]+(LU)?$/]` size 1 * /^[0-9]+$/ exceeds 0x7fffffff size limit for static array
 ---
index e293aa1c92c5d00f16a514a6dd5101add25f4db7..9cb14b801c90010538c1b04413601674e129f115 100644 (file)
@@ -1,4 +1,11 @@
 // REQUIRED_ARGS: -de
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail199.d(20): Deprecation: class `fail199.DepClass` is deprecated
+fail_compilation/fail199.d(20): Deprecation: class `fail199.DepClass` is deprecated
+---
+*/
 
 //import std.stdio;
 
index c0ba46ca96fb4a4a90423157d6b76cad6bfc1c34..9d804a916b38690e224381dd48be2eed091c8566 100644 (file)
@@ -1,4 +1,11 @@
 // REQUIRED_ARGS: -de
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail200.d(17): Deprecation: interface `fail200.DepClass` is deprecated
+fail_compilation/fail200.d(17): Deprecation: interface `fail200.DepClass` is deprecated
+---
+*/
 
 //import std.stdio;
 
index d9655b3bc27573f5bdca58dcb05aeeb2f7adcd09..6c4d923e248951d53d2f133d00f3c0b776ea63e9 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail201.d(10): Error: shift by 33 is outside the range `0..31`
+fail_compilation/fail201.d(10): Error: shift by 33 is outside the range `0..31`
+---
+*/
 void main() {
         int c;
         c = c >>> 33;
index 78cf21a9e840ca475ff642c3637b26aa61a971ce..57009edfee5ebce2b64c4572fa2fe632d42c3478 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail202.d(10): Error: shift by 33 is outside the range `0..31`
+fail_compilation/fail202.d(10): Error: shift by 33 is outside the range `0..31`
+---
+*/
 void main() {
         int c;
         c = c >> 33;
index 3d96e0cba1f40cfaf43a7432843c7915e9dfa5bb..51accf5b9f1f8f04ebab41abc157e1a3c3af11b8 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail203.d(10): Error: shift by 33 is outside the range `0..31`
+fail_compilation/fail203.d(10): Error: shift by 33 is outside the range `0..31`
+---
+*/
 void main() {
         int c;
         c = c << 33;
index 41b7c297fb34dc86f1acfb9e68f25885865ef041..e6f2faaa4bfad137acdc34af6e4ab82e71867726 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail204.d(9): Error: shift assign by 65 is outside the range `0..63`
+---
+*/
 void main() {
         long c;
         c >>= 65;
index 04ef95ead00dcf3d563d508aed7686671436e958..89ddc93fea1aaad43e87440d6d5c9c055e662094 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail205.d(9): Error: shift assign by 65 is outside the range `0..63`
+---
+*/
 void main() {
         long c;
         c <<= 65;
index 6c0bf4630af1538c7e03709ccdc46325b6d58489..e3b2dcee9f48a129efcdacbe24c2d96dbc06f9dc 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail206.d(9): Error: shift assign by 65 is outside the range `0..63`
+---
+*/
 void main() {
         long c;
         c >>>= 65;
index 67c28cd8f40692d6e8a93100d8540442d6ea1be5..63ed0a06d02589df236ff576658b527005bc208a 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail217.d(22): Error: mutable method `fail217.Message.this` is not callable using a `immutable` object
+fail_compilation/fail217.d(13):        Consider adding `const` or `inout` here
+---
+*/
 
 class Message
   {
index 5e2f1305eb13190392ca5bc0d69e3c6e03a2a142..294dc21b33ef830c105582a08f380ec396cea415 100644 (file)
@@ -1,3 +1,13 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail220.d(12): Error: identifier expected for template value parameter
+fail_compilation/fail220.d(12): Error: found `==` when expecting `)`
+fail_compilation/fail220.d(12): Error: found `class` when expecting `)`
+fail_compilation/fail220.d(12): Error: declaration expected, not `)`
+fail_compilation/fail220.d(16): Error: unrecognized declaration
+---
+*/
 template types (T) {
     static if (is (T V : V[K], K == class)) {
         static assert (false, "assoc");
index 6cf59f3556cf9477bc86c8a55d42a045899f53b6..dee9a543b6ec188f38b04f9c296c9c20cba88f25 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail225.d(15): Error: cannot implicitly convert expression `1` of type `int` to `immutable(char*)`
+fail_compilation/fail225.d(15): Error: cannot implicitly convert expression `& ch` of type `char*` to `immutable(char*)`
+---
+*/
 struct Struct { 
         char* chptr; 
 }
index ee2f4312097601481dda063852b5a3f6557c7a94..d2e68d451f346e043a69acd54c783fa22e8ca225 100644 (file)
@@ -1,3 +1,14 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail232.d(15): Error: shift by 33 is outside the range `0..31`
+fail_compilation/fail232.d(15): Error: shift by 33 is outside the range `0..31`
+fail_compilation/fail232.d(16): Error: shift by 33 is outside the range `0..31`
+fail_compilation/fail232.d(16): Error: shift by 33 is outside the range `0..31`
+fail_compilation/fail232.d(17): Error: shift by 33 is outside the range `0..31`
+fail_compilation/fail232.d(17): Error: shift by 33 is outside the range `0..31`
+---
+*/
 void bug1601() {
     int i;
 
index 81fbca2bfd41908347251b42301c3683d2a44c7e..14b6443528fe9fe47b6cd484927681061d9f2117 100644 (file)
@@ -1,2 +1,8 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail239.d(8): Error: type `F` is not an expression
+---
+*/
 class F { int x; }
 alias typeof(F).x b;
index 3d2db6510764d711cb915ce8c4a95f47f67e62da..e9ea2bf7fe0a0948d448eb7dc34147f42989c6d7 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail252.d(13): Error: cannot implicitly override base class method `fail252.Timer.Task.run` with `fail252.Timer.__anonclass1.run`; add `override` attribute
+---
+*/
 class Timer {
     abstract class Task {
         public abstract void run();
index 249a524024483ea3b9d10be641fa65c6c37c4f63..0e2d66995725c6d526211b0c978528dcb004a368 100644 (file)
@@ -1 +1,8 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail257.d(8): Error: incompatible types for `("foo"d) == ("bar"c)`: `dstring` and `string`
+fail_compilation/fail257.d(8):        while evaluating `pragma(msg, "foo"d == "bar"c ? "A" : "B")`
+---
+*/
 pragma(msg, "foo"d == "bar"c ? "A" : "B");
index 97381a663944a2c1d33fe84ddc27eae7b5c4271a..459d2715c263438a00709d128e2a727cf726c4d9 100644 (file)
@@ -1,3 +1,13 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail258.d(11): Error: delimiter cannot be whitespace
+fail_compilation/fail258.d(11): Error: delimited string must end in 
+"
+fail_compilation/fail258.d(11): Error: declaration expected, not `"X"`
+fail_compilation/fail258.d(14): Error: unterminated string constant starting at fail_compilation/fail258.d(14)
+---
+*/
 q"
 X
 
index af7334fa71bcba6565035ee7c0eeaa4b984b9fe7..340be5281108154be01635a715eee5980517d18f 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail2740.d(17): Error: class `fail2740.Foo` ambiguous virtual function `foo`
+---
+*/
 interface IFoo
 {
        int foo();
index 052558ce0d8779b0edbf0e165783f2c0a28a0067..4f9b7c34c0a266e95bba6e8317b2e5ae698df632 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail276.d(19): Error: `this` has no effect
+fail_compilation/fail276.d(15): Error: `this` is only defined in non-static member functions, not `__anonclass2`
+---
+*/
 
 class C
 {
index 22d795e9e0ce8b13082f59d3307f99d4b5894224..8fa7aa49efca81161cc0e7b2db28dc43394dfce9 100644 (file)
@@ -1,4 +1,12 @@
-// Issue 2920 - recursive templates blow compiler stack
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail279.d(14): Error: mixin `fail279.Template!0.Template!1.Template!2.Template!3.Template!4.Template!5.Template!6.Template!7.Template!8.Template!9.Template!10.Template!11.Template!12.Template!13.Template!14.Template!15.Template!16.Template!17.Template!18.Template!19.Template!20.Template!21.Template!22.Template!23.Template!24.Template!25.Template!26.Template!27.Template!28.Template!29.Template!30.Template!31.Template!32.Template!33.Template!34.Template!35.Template!36.Template!37.Template!38.Template!39.Template!40.Template!41.Template!42.Template!43.Template!44.Template!45.Template!46.Template!47.Template!48.Template!49.Template!50.Template!51.Template!52.Template!53.Template!54.Template!55.Template!56.Template!57.Template!58.Template!59.Template!60.Template!61.Template!62.Template!63.Template!64.Template!65.Template!66.Template!67.Template!68.Template!69.Template!70.Template!71.Template!72.Template!73.Template!74.Template!75.Template!76.Template!77.Template!78.Template!79.Template!80.Template!81.Template!82.Template!83.Template!84.Template!85.Template!86.Template!87.Template!88.Template!89.Template!90.Template!91.Template!92.Template!93.Template!94.Template!95.Template!96.Template!97.Template!98.Template!99.Template!100.Template!101.Template!102.Template!103.Template!104.Template!105.Template!106.Template!107.Template!108.Template!109.Template!110.Template!111.Template!112.Template!113.Template!114.Template!115.Template!116.Template!117.Template!118.Template!119.Template!120.Template!121.Template!122.Template!123.Template!124.Template!125.Template!126.Template!127.Template!128.Template!129.Template!130.Template!131.Template!132.Template!133.Template!134.Template!135.Template!136.Template!137.Template!138.Template!139.Template!140.Template!141.Template!142.Template!143.Template!144.Template!145.Template!146.Template!147.Template!148.Template!149.Template!150.Template!151.Template!152.Template!153.Template!154.Template!155.Template!156.Template!157.Template!158.Template!159.Template!160.Template!161.Template!162.Template!163.Template!164.Template!165.Template!166.Template!167.Template!168.Template!169.Template!170.Template!171.Template!172.Template!173.Template!174.Template!175.Template!176.Template!177.Template!178.Template!179.Template!180.Template!181.Template!182.Template!183.Template!184.Template!185.Template!186.Template!187.Template!188.Template!189.Template!190.Template!191.Template!192.Template!193.Template!194.Template!195.Template!196.Template!197.Template!198.Template!199.Template!200.Template!201.Template!202.Template!203.Template!204.Template!205.Template!206.Template!207.Template!208.Template!209.Template!210.Template!211.Template!212.Template!213.Template!214.Template!215.Template!216.Template!217.Template!218.Template!219.Template!220.Template!221.Template!222.Template!223.Template!224.Template!225.Template!226.Template!227.Template!228.Template!229.Template!230.Template!231.Template!232.Template!233.Template!234.Template!235.Template!236.Template!237.Template!238.Template!239.Template!240.Template!241.Template!242.Template!243.Template!244.Template!245.Template!246.Template!247.Template!248.Template!249.Template!250.Template!251.Template!252.Template!253.Template!254.Template!255.Template!256.Template!257.Template!258.Template!259.Template!260.Template!261.Template!262.Template!263.Template!264.Template!265.Template!266.Template!267.Template!268.Template!269.Template!270.Template!271.Template!272.Template!273.Template!274.Template!275.Template!276.Template!277.Template!278.Template!279.Template!280.Template!281.Template!282.Template!283.Template!284.Template!285.Template!286.Template!287.Template!288.Template!289.Template!290.Template!291.Template!292.Template!293.Template!294.Template!295.Template!296.Template!297.Template!298.Template!299.Template!300.Template!301.Template!302.Template!303.Template!304.Template!305.Template!306.Template!307.Template!308.Template!309.Template!310.Template!311.Template!312.Template!313.Template!314.Template!315.Template!316.Template!317.Template!318.Template!319.Template!320.Template!321.Template!322.Template!323.Template!324.Template!325.Template!326.Template!327.Template!328.Template!329.Template!330.Template!331.Template!332.Template!333.Template!334.Template!335.Template!336.Template!337.Template!338.Template!339.Template!340.Template!341.Template!342.Template!343.Template!344.Template!345.Template!346.Template!347.Template!348.Template!349.Template!350.Template!351.Template!352.Template!353.Template!354.Template!355.Template!356.Template!357.Template!358.Template!359.Template!360.Template!361.Template!362.Template!363.Template!364.Template!365.Template!366.Template!367.Template!368.Template!369.Template!370.Template!371.Template!372.Template!373.Template!374.Template!375.Template!376.Template!377.Template!378.Template!379.Template!380.Template!381.Template!382.Template!383.Template!384.Template!385.Template!386.Template!387.Template!388.Template!389.Template!390.Template!391.Template!392.Template!393.Template!394.Template!395.Template!396.Template!397.Template!398.Template!399.Template!400.Template!401.Template!402.Template!403.Template!404.Template!405.Template!406.Template!407.Template!408.Template!409.Template!410.Template!411.Template!412.Template!413.Template!414.Template!415.Template!416.Template!417.Template!418.Template!419.Template!420.Template!421.Template!422.Template!423.Template!424.Template!425.Template!426.Template!427.Template!428.Template!429.Template!430.Template!431.Template!432.Template!433.Template!434.Template!435.Template!436.Template!437.Template!438.Template!439.Template!440.Template!441.Template!442.Template!443.Template!444.Template!445.Template!446.Template!447.Template!448.Template!449.Template!450.Template!451.Template!452.Template!453.Template!454.Template!455.Template!456.Template!457.Template!458.Template!459.Template!460.Template!461.Template!462.Template!463.Template!464.Template!465.Template!466.Template!467.Template!468.Template!469.Template!470.Template!471.Template!472.Template!473.Template!474.Template!475.Template!476.Template!477.Template!478.Template!479.Template!480.Template!481.Template!482.Template!483.Template!484.Template!485.Template!486.Template!487.Template!488.Template!489.Template!490.Template!491.Template!492.Template!493.Template!494.Template!495.Template!496.Template!497.Template!498.Template!499.Template!500` recursive expansion
+---
+*/
+
+// https://issues.dlang.org/show_bug.cgi?id=2920
+// recursive templates blow compiler stack
 // template_16
 
 template Template(int i)
index 796d171f7162f897e435a8121bb3fb3f3d63ae4b..95e6c23c435ce90c86da8c3bc62a2f78529b4755 100644 (file)
@@ -1,5 +1,12 @@
-// Issue 2920 - recursive templates blow compiler stack
+// https://issues.dlang.org/show_bug.cgi?id=2920
+// recursive templates blow compiler stack
 // template_17_A.
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail280.d(13): Error: template instance `fail280.t!500` recursive expansion exceeded allowed nesting limit
+---
+*/
 
 template t(int i)
 {
index daa9385b69cbda137554627e24c599fd6ba52ebb..3b9bcd70f1bae1583244ffe196abd3437f79d383 100644 (file)
@@ -1,5 +1,12 @@
-// Issue 2920 - recursive templates blow compiler stack
+// https://issues.dlang.org/show_bug.cgi?id=2920
+// recursive templates blow compiler stack
 // template_29_B.
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail281.d(15): Error: template instance `fail281.foo!4294966795u` recursive expansion exceeded allowed nesting limit
+---
+*/
 
 template foo(uint i)
 {
index d283da0e0a96caa99b150a4eb773e12f1fdd7cc3..d885b3ef3ee7d21b70ddee2ca0be28a4c228d16e 100644 (file)
@@ -1,4 +1,10 @@
 // REQUIRED_ARGS: -unittest
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail308.d(18): Error: template instance `object.RTInfo!(TestType)` recursive expansion
+---
+*/
 
 void main()
 {
index 3382badb1935e68ca4a197c14bd815d521ef327f..5ca758c85781262293aedc621197bfa7e358ed0a 100644 (file)
@@ -1,4 +1,10 @@
 // REQUIRED_ARGS: -de
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail3150.d(10): Error: cannot cast expression `[1, 2]` of type `int[]` to `ulong`
+---
+*/
 
 void main() {
     ulong u = cast(ulong)[1,2];
index 21788d629d35e8073a757b9339bb5a799d28aa98..ab4077cd2ff129e4250b286267c6d9922d3bab0b 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail316.d(17): Error: mixin `fail316.foo.BadImpl!(uint, Mix1)` cannot resolve forward reference
+---
+*/
 template BadImpl(T, alias thename)
 {
   void a_bad_idea(T t)
index 9963c8b34575cd931794b7f9c8ec957b3f9d7863..931cb8dd82022db0359e10fac602fd7c5347c434 100644 (file)
@@ -1,5 +1,5 @@
 /*
-test_output:
+TEST_OUTPUT:
 ---
 fail_compilation/fail324.d(16): Error: template instance doStuff!((i){ return i; }) cannot use local '__lambda1' as parameter to non-global template doStuff(alias fun)()
 ---
index f398fc95a7dcc2533481571ff71a68011756679a..2b6bbac3f19f8cc1773401270fc0c7b2316bf957 100644 (file)
@@ -1,4 +1,10 @@
-// 3290
+// https://issues.dlang.org/show_bug.cgi?id=3290
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail3290.d(12): Error: argument type mismatch, `const(int)` to `ref int`
+---
+*/
 
 void main()
 {
index 9173740abf2f93606abfbf08e8c0452b76d32c09..f395392a8e7b199e7bb97c514598ef1752ca6049 100644 (file)
@@ -1,4 +1,16 @@
-// 3737
+// https://issues.dlang.org/show_bug.cgi?id=3737
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail344.d(20): Error: undefined identifier `Q`
+fail_compilation/fail344.d(20): Error: undefined identifier `Q`
+fail_compilation/fail344.d(20): Error: undefined identifier `V`
+fail_compilation/fail344.d(23):        while evaluating: `static assert(Alike!(SIB!(crayon)))`
+fail_compilation/fail344.d(23): Error: template instance `fail344.SIB!(crayon).SIB.Alike!(SIB!(crayon))` error instantiating
+fail_compilation/fail344.d(23):        while evaluating: `static assert(Alike!(SIB!(crayon)))`
+fail_compilation/fail344.d(28): Error: template instance `fail344.SIB!(crayon).SIB.opDispatch!"E"` error instantiating
+---
+*/
 
 int crayon;
 
index 532f0bfd213b99d4c899cd735c3863098f0e7afe..af491bda15d21b52af439f487119ee139a4ffbc8 100644 (file)
@@ -1,3 +1,12 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail346.d(15): Error: undefined identifier `P`
+fail_compilation/fail346.d(15): Error: variable `fail346.S.T!0.T` cannot use template to add field to aggregate `S`
+fail_compilation/fail346.d(20): Error: template instance `fail346.S.T!0` error instantiating
+fail_compilation/fail346.d(23):        instantiated from here: `V!(S, 0)`
+---
+*/
 
 struct S {
     int x;
index 4981f72a9a6e7118a02148cfb8ac663c6dae34a2..6375b5cd24e24bac50d6202d07c3aa99714d9618 100644 (file)
@@ -1,2 +1,9 @@
+/*
+EXTRA_FILES: imports/fail356.d
+TEST_OUTPUT:
+---
+fail_compilation/fail356a.d(9): Error: variable `fail356a.imports` conflicts with import `fail356a.imports` at fail_compilation/fail356a.d(8)
+---
+*/
 import imports.fail356;
 int imports; // collides with package name
index 18f60858b4b71412cdb78c0e2f8bfe50a183442d..21f91b17e43d8cb2ff718fbb2c68450bd43fd011 100644 (file)
@@ -1,2 +1,9 @@
+/*
+EXTRA_FILES: imports/fail356.d
+TEST_OUTPUT:
+---
+fail_compilation/fail356b.d(9): Error: variable `fail356b.bar` conflicts with alias `fail356b.bar` at fail_compilation/fail356b.d(8)
+---
+*/
 import imports.fail356 : bar;
 int bar; // collides with selective import
index ab12c904085e5e94a3252982b3279f6ca8112b5b..bd10943c718fc7a393e7fe1ded3047cd08f93a25 100644 (file)
@@ -1,2 +1,9 @@
+/*
+EXTRA_FILES: imports/fail356.d
+TEST_OUTPUT:
+---
+fail_compilation/fail356c.d(9): Error: variable `fail356c.foo` conflicts with import `fail356c.foo` at fail_compilation/fail356c.d(8)
+---
+*/
 import foo = imports.fail356;
 int foo; // collides with renamed import
index 5c4486681670f745e3b27104a66263c40c670868..56e8c0c4c11fe75d4bfbc698096f93412dd8f86b 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail3581a.d(9): Error: function `fail3581a.B.f` cannot override a non-virtual function
+---
+*/
 
 class A { void f() {} }
 class B : A { static override void f() {}; }
index 38be3225dcc91d1058fcc52ad02b08b343c06d70..c2f7f13558ad3fe5ba747cc6562ef620b3b7ef59 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail3581b.d(9): Error: function `fail3581b.B.f` `private` method is not virtual and cannot override
+---
+*/
 
 class A { void f() {} }
 class B : A { private override void f() {}; }
index aae36c894d7fafeb4f2b056be2f2303a78312bec..c6a23ad7bcc83e265da09f17c42a0c46d83088ee 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail359.d(8): Error: #line integer ["filespec"]\n expected
+fail_compilation/fail359.d(9): Error: no identifier for declarator `_BOOM`
+---
+*/
 #line 5 _BOOM
 void main() { }
 
index 92c23f01309be3cc70ccdd2eb056ae139cd5e34e..889d940de441521d22fb024e16c525af67aff4a5 100644 (file)
@@ -1,2 +1,8 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail3673a.d(8): Error: template constraints only allowed for templates
+---
+*/
 class A {}
 class B : A if(false) { }
index 264b4aed35bde908b1cfcc331bd4f04d34c43554..bf745ac8bbd0424b3eb28757aea6800a68fbec3c 100644 (file)
@@ -1,2 +1,12 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail3673b.d(12): Error: basic type expected, not `if`
+fail_compilation/fail3673b.d(12): Error: template constraints only allowed for templates
+fail_compilation/fail3673b.d(12): Error: { } expected following `class` declaration
+fail_compilation/fail3673b.d(12): Error: no identifier for declarator `A`
+fail_compilation/fail3673b.d(12): Error: declaration expected, not `{`
+---
+*/
 class A {}
 class B : if(false) A { }
index 377fd4919d3f8a80e96ff9a7e91d6fce348933e8..c2903bb73c288c597ca6bc4a3ef4ae730441cc69 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail3731.d(13): Error: cannot implicitly convert expression `x` of type `immutable(D)` to `fail3731.main.C`
+---
+*/
 
 void main()
 {
index 4855995865349575829fcfbfa01e73bde31bcbb7..d20d8e9fc777b5cf237b5b4ea109892d57656b8a 100644 (file)
@@ -1,4 +1,5 @@
 /*
+TEST_OUTPUT:
 ---
 Error: cannot mix core.std.stdlib.alloca() and exception handling in _Dmain()
 ---
index 9921f2a6b368ff789ab7c03206e67e6724559ef3..3879ef5d3797094b4310b1c205f87c4fe58ae648 100644 (file)
@@ -1,9 +1,14 @@
-import std.stdio;
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail3895.d(12): Error: cannot append type `double[]` to type `float[]`
+---
+*/
+
 
 void main() {
     double[] stuff = [1.,2.,3.,4.,5.];
     float[] otherStuff;
     otherStuff ~= stuff;
-    writeln(otherStuff);
 }
 
index 409158a400a2f4c5c387383412fe12da71405121..b9c1671d78103ec91bfb068913ec78def2cd6d14 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4206.d(9): Error: initializer must be an expression, not `s`
+---
+*/
 
 struct s {}
 enum var = s;
index 7794c462cc0944ec7d40daab9a02b07865c72d4b..6604f1f7fc7719b6e1edb6c829263bb2b636686c 100644 (file)
@@ -1,3 +1,11 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4269a.d(12): Error: undefined identifier `B`
+fail_compilation/fail4269a.d(12): Error: variable `fail4269a.A.blah` field not allowed in interface
+fail_compilation/fail4269a.d(13): Error: undefined identifier `B`
+---
+*/
 enum bool WWW = is(typeof(A.x));
 
 interface A {
index 2234cb846a9d0ed6319e79df5d23d86f605d7fed..253013344fca25b4a092e27d81aaf2be88c0b4ae 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4269b.d(11): Error: undefined identifier `B`
+fail_compilation/fail4269b.d(12): Error: undefined identifier `B`
+---
+*/
 enum bool WWW = is(typeof(A.x));
 
 struct A {
index b00ec1be9634adcc7011a31a21a9020a23f18660..8bbfaacb8f148630b3d8ea70b926b5769a101c10 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4269c.d(11): Error: undefined identifier `B`
+fail_compilation/fail4269c.d(12): Error: undefined identifier `B`
+---
+*/
 enum bool WWW = is(typeof(A.x));
 
 class A {
index b9d2afc7bee4aadb96fcc30b3cb09b0ce9b006ed..135e1d4fe51c401407062c7558aa02b0dc8e5f7a 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4269d.d(9): Error: undefined identifier `Y`
+---
+*/
 
 static if(is(typeof(X6.init))) {}
 alias Y X6;
index d7b2f23308be3e22f79a2e13a3f446044f16536f..c63bfac4271725710132d5b9c4557ea7a2defe8b 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4269e.d(10): Error: semicolon expected, not `X5`
+fail_compilation/fail4269e.d(10): Error: no identifier for declarator `X5`
+---
+*/
 
 static if(is(typeof(X5.init))) {}
 typedef Y X5;
index 4033447426b88bb4fba53b1a3c59c2b9a0143aca..7a719c7c3a34ce855cce2b066585ff8e84c4b8c2 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4269f.d(9): Error: `alias X16 = X16;` cannot alias itself, use a qualified name to create an overload set
+---
+*/
 
 static if(is(typeof(X16))) {}
 alias X16 X16;
index 9241e481de49b6a90d220ee84d92b368556c0b1a..69d9a9a1cb90b0394ecc2cde965c4191540e66b7 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4269g.d(10): Error: alias `fail4269g.Xg` cannot alias an expression `d[1]`
+---
+*/
 
 int[2] d;
 static if(is(typeof(Xg.init))) {}
index 030b4858b7e48e5dd6764c747ac7dc38f493d89d..5ee2a311b30d2afd2877758acab5c454ff3e490e 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375a.d(14): Warning: else is dangling, add { } after condition at fail_compilation/fail4375a.d(11)
+---
+*/
 
 void main() {
        if (true)
index 6ac5b71b0a70db494f697a0ebb6ac321f32e7278..0d16446cdc6c5bb9b6c0180891e76bfca362418a 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375b.d(16): Warning: else is dangling, add { } after condition at fail_compilation/fail4375b.d(12)
+---
+*/
 
 void main() {
     // disallowed
index 697c99f0fc8992253fc8ac9ba07fd16062f82335..4e578aac95da26c4fbf3b30c71f6f6667b88b6ed 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375c.d(15): Warning: else is dangling, add { } after condition at fail_compilation/fail4375c.d(11)
+---
+*/
 
 void main() {
     if (true)
index 329907eec40090d358354c8e32b70360ae59131c..8e9b4e776a969831c4a9c5184c928e5a822d0367 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375d.d(15): Warning: else is dangling, add { } after condition at fail_compilation/fail4375d.d(11)
+---
+*/
 
 void main() {
     if (true)
index 14b96d72a7f39ee4158a91b2494f60458035e829..ae809bc9367ffe6aabc9c6e880379fe146f07064 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375e.d(14): Warning: else is dangling, add { } after condition at fail_compilation/fail4375e.d(11)
+---
+*/
 
 void main() {
     version (A)
index c715ee6c7fc15e92953b8ab63eae1c205925dcd8..5855b1b0eec4a2b8d49606d3fabd4b78abae1316 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375f.d(14): Warning: else is dangling, add { } after condition at fail_compilation/fail4375f.d(11)
+---
+*/
 
 void main() {
     version (A)
index f555651c4c8fbb7af0f3fec4fdf657093e4e1393..4b9d12b9b463eb7dc62829f34cb8467ded657533 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375g.d(14): Warning: else is dangling, add { } after condition at fail_compilation/fail4375g.d(11)
+---
+*/
 
 void main() {
     static if (true)
index 793e42ba93b753f5b1670820e658d17eb55b37a7..72e3e14bef9fc76ae45b8ea5239543ff4dc20296 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375h.d(16): Warning: else is dangling, add { } after condition at fail_compilation/fail4375h.d(13)
+---
+*/
 
 void main() {
     switch (4) {
index da3e67c93d1b9d5b98319709163d7d71cd4bc3c9..5801c61dcbc9e0940f8dc24db50021d22b0b7250 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375i.d(16): Warning: else is dangling, add { } after condition at fail_compilation/fail4375i.d(11)
+---
+*/
 
 void main() {
     if (true)
index cd289a08fe346590cc8927d1202cb31c371a351e..9a87540cdcbdd3ed353678f48b28b342b340d525 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375j.d(16): Warning: else is dangling, add { } after condition at fail_compilation/fail4375j.d(11)
+---
+*/
 
 void main() {
     if (true)
index f372406d4a858ee5f470c274df11e4494ef5521c..bb8b7b2d6df3fce07acf1026a48f776718d26707 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375k.d-mixin-11(15): Warning: else is dangling, add { } after condition at fail_compilation/fail4375k.d-mixin-11(12)
+---
+*/
 
 void main() {
     mixin(q{
index fea1d82d0ef1027dc90011d056f9e71f36b30473..965b0e72cbeac8fa377e26079ed1957b913e0684 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375l.d(15): Warning: else is dangling, add { } after condition at fail_compilation/fail4375l.d(11)
+---
+*/
 
 void main() {
     if (true)
index fdde1a11b3d8c817407b133067bd4681faaf1236..a6bdf1e80dbd3e70ad9c770663c1f78cc6ab9f8c 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375m.d(15): Warning: else is dangling, add { } after condition at fail_compilation/fail4375m.d(12)
+---
+*/
 
 void main() {
     do
index 6c3d3e15e4ef535e2fcd9d251c87c165c66b331f..c37b219630884176d80a467183608b28d9c40495 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375o.d(15): Warning: else is dangling, add { } after condition at fail_compilation/fail4375o.d(11)
+---
+*/
 
 void main() {
     if (true)
index 82f7cabd28b7538fb4638817dc82fb67439b1775..52a6e65609cb585a02ad342eb66579c92bf8afb4 100644 (file)
@@ -1,5 +1,12 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375p.d(19): Warning: else is dangling, add { } after condition at fail_compilation/fail4375p.d(12)
+fail_compilation/fail4375p.d(16): Error: undefined identifier `x`
+---
+*/
 
 void main() {
     if (true)
index 7d11c46f347825d3f93017341f67bdfad76f2e82..f445eaba7cfac5ead2c9c2ecfa5c45747e2ecfa3 100644 (file)
@@ -1,5 +1,12 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375q.d(17): Warning: else is dangling, add { } after condition at fail_compilation/fail4375q.d(13)
+fail_compilation/fail4375q.d(14): Error: `with` expressions must be aggregate types or pointers to them, not `int`
+---
+*/
 
 void main() {
     auto x = 1;
index 49b2f8a8a3cd0f9145c9708d5694148dfe70fe6f..61923e207d7216281274c3981448a33ff87d46b4 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375r.d(17): Warning: else is dangling, add { } after condition at fail_compilation/fail4375r.d(11)
+---
+*/
 
 void main() {
     if (true)
index ed1b72569068934be6ef20ec8147a0c6598c84c5..cd4e5a07e4778d374358d0adb9769464e546efc7 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375s.d(17): Warning: else is dangling, add { } after condition at fail_compilation/fail4375s.d(11)
+---
+*/
 
 void main() {
     if (true)
index 197563654f3c300382be5d290145db8d4d07bfda..557761b7100acc1b581a5daaaf6b07e108d47462 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w -unittest
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375t.d(14): Warning: else is dangling, add { } after condition at fail_compilation/fail4375t.d(11)
+---
+*/
 
 unittest {  // disallowed
     if (true)
index cb06823a0287e91e92178b81db26ded7d6a01fcd..1028b787c20de053568db9b782327ea1358d7bff 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375u.d(13): Warning: else is dangling, add { } after condition at fail_compilation/fail4375u.d(11)
+---
+*/
 
 static if (true)
     static if (false)
index 1510c8dc9357396957833ceb31bca982ce9d95fd..f4a6089c0dbec5a5e70a775f1e3fe78e5e4b30a5 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375v.d(13): Warning: else is dangling, add { } after condition at fail_compilation/fail4375v.d(11)
+---
+*/
 
 version (A)
     version (B)
index cd3c3bdf24576db73b8adfb229444f6c2d8ae6a1..ae1ac21839c630efef53e65e56ba77c4fc257c0b 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375w.d(13): Warning: else is dangling, add { } after condition at fail_compilation/fail4375w.d(11)
+---
+*/
 
 static if (true)
     version (B)
index b6ae64fd187f03b4de102b32090c997f861acd47..33c8eb2a89915b712906410093d1bb62ef170f28 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375x.d(14): Warning: else is dangling, add { } after condition at fail_compilation/fail4375x.d(11)
+---
+*/
 
 static if (true)
 abstract:
index b3713e38f12ea405b42de489fe2baa4b0e76b6a3..bc796312b1ceb0c28b63f38f846d45ddad86df94 100644 (file)
@@ -1,5 +1,11 @@
 // REQUIRED_ARGS: -w
-// 4375: Dangling else
+// https://issues.dlang.org/show_bug.cgi?id=4375: Dangling else
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4375y.d(16): Warning: else is dangling, add { } after condition at fail_compilation/fail4375y.d(11)
+---
+*/
 
 static if (true)
     align(1)
index d10100070e136b47ac7f9b640b4747e744d1f430..64a8d45afd138ee14bf5f0c4abdb4d71f7179195 100644 (file)
@@ -1,4 +1,10 @@
-// 4510
+// https://issues.dlang.org/show_bug.cgi?id=4510
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4510.d(12): Error: argument type mismatch, `float` to `ref double`
+---
+*/
 
 void main()
 {
index f4d8a1c73e12e2bbb7f1fda3f867f2507c371f05..efe4d41aeddbf91e62d1888ea9499e55c88c310f 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4511.d(18): Error: cannot implicitly override base class method `fail4511.test72.X.func` with `fail4511.test72.Y.func`; add `override` attribute
+---
+*/
 void test72()
 {
     class A {}
index a55b0f5f9274842e498ab96e906c52bbdec612b2..f3fe031a1478dfe3f495e8ec2ad96322f40ccbb3 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4517.d(16): Error: `enum` member `B` not represented in `final switch`
+---
+*/
 
 enum E : ushort
 {
index f1547ba12c5593bf47115e54756ca6d0e2cd5cc4..02fcc2ebb6fd5f9d8dfa9ee262e98a902bc65be4 100644 (file)
@@ -1,4 +1,5 @@
 /*
+TEST_OUTPUT:
 ---
 fail_compilation/fail4611.d(15): Error: Vec[2147483647] size 4 * 2147483647 exceeds 0x7fffffff size limit for static array
 ---
index d320fdafc8b9b78706748bd09fc73eea1985adeb..9da0c0927a28c2c89704a27ce156d6afe7cdd530 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail47.d(8): Error: variable `fail47._foo` is aliased to a function
+---
+*/
 void foo() {}
 int _foo;
 alias _foo foo;
index b72347662e1454e02b2e045cece324e1327573e3..02bbc61666bf4ff802d79e0e6194db42ff526b00 100644 (file)
@@ -1,2 +1,8 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail4958.d(8): Error: enum member `fail4958.FloatEnum.B` has inexact value due to loss of precision
+---
+*/
 
 enum FloatEnum : float { A = float.max/2, B, C }
index 2c610a86d665d99cb8c156bee612e1c6600e2ce8..fefed374db5b4daeaedc99755012f87b90dce201 100644 (file)
@@ -1,4 +1,32 @@
-// 5435
+// https://issues.dlang.org/show_bug.cgi?id=5435
+/*
+TEST_OUTPUT:
+---
+Enum5435.A
+Enum5435.B
+Enum5435.C
+fail_compilation/fail5435.d(38): Error: cannot implicitly convert expression `"foo"` of type `string` to `Enum5435`
+fail_compilation/fail5435.d(38):        while evaluating `pragma(msg, foo)`
+fail_compilation/fail5435.d(38): Error: cannot implicitly convert expression `3.0` of type `double` to `Enum5435`
+fail_compilation/fail5435.d(38):        while evaluating `pragma(msg, foo)`
+fail_compilation/fail5435.d(39): Error: cannot implicitly convert expression `Enum5435.A` of type `Enum5435` to `string`
+fail_compilation/fail5435.d(39):        while evaluating `pragma(msg, foo)`
+fail_compilation/fail5435.d(39): Error: cannot implicitly convert expression `Enum5435.B` of type `Enum5435` to `string`
+fail_compilation/fail5435.d(39):        while evaluating `pragma(msg, foo)`
+fail_compilation/fail5435.d(39): Error: cannot implicitly convert expression `Enum5435.C` of type `Enum5435` to `string`
+fail_compilation/fail5435.d(39):        while evaluating `pragma(msg, foo)`
+foo
+fail_compilation/fail5435.d(39): Error: cannot implicitly convert expression `3.0` of type `double` to `string`
+fail_compilation/fail5435.d(39):        while evaluating `pragma(msg, foo)`
+0
+1
+2
+fail_compilation/fail5435.d(40): Error: cannot implicitly convert expression `"foo"` of type `string` to `int`
+fail_compilation/fail5435.d(40):        while evaluating `pragma(msg, foo)`
+fail_compilation/fail5435.d(40): Error: cannot implicitly convert expression `3.0` of type `double` to `int`
+fail_compilation/fail5435.d(40):        while evaluating `pragma(msg, foo)`
+---
+*/
 
 template Tuple5435(E...) { alias E Tuple5435; }
 enum Enum5435 { A, B, C };
index 579401fb7039fa1dcf102845b71443ab2a7195d8..64902fedec348f1e2e913e7c9ade8909c0b4b234 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail56.d(21): Error: mixin `dstress.nocompile.bug_20050330_A.main.Blah!(5, a).Blah!(5, a)` recursive mixin instantiation
+fail_compilation/fail56.d(26): Error: mixin `dstress.nocompile.bug_20050330_A.main.Blah!(5, a)` error instantiating
+---
+*/
 // $HeadURL$
 // $Date$
 // $Author$
index 0044adf8df29ad3e12ec269ad04f4679171443b7..e2442e65593ffa7c78f755f058b08eaf368bd8c1 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+----
+fail_compilation/fail5634.d(9): Error: function `D main()` conflicts with previous declaration at fail_compilation/fail5634.d(8)
+---
+*/
+
 void main() { }
 void main() { }
-
index ded3a6ea5821423491d812a7fba288d80aacb6dd..41149cdc2f5db9c7928be7fa561f470b868f45d1 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail57.d(11): Error: divide by 0
+fail_compilation/fail57.d(11): Error: divide by 0
+---
+*/
 
 int main()
 {
index 2292716bc9cc556d103bf21e8139c1f4f9788770..d58b362315b0b5e9d31bb3137cc3f353a151e83e 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail5733.d(12): Error: `opDispatch!"foo"` isn't a template
+---
+*/
 struct Test
 {
     struct opDispatch(string dummy)
index ad6f8da3e30b6b3a165bcab7f360cb4bdc401858..29d9e5847f8932fd9b9b7862b0f653ee572ea9d7 100644 (file)
@@ -1,3 +1,12 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail58.d(26): Error: function `fail58.SomeFunc(dchar[] pText, out int pStopPosn)` is not callable using argument types `(string, int)`
+fail_compilation/fail58.d(26):        cannot pass argument `"123"` of type `string` to parameter `dchar[] pText`
+fail_compilation/fail58.d(30): Error: function `fail58.SomeFunc(dchar[] pText, out int pStopPosn)` is not callable using argument types `(string, int)`
+fail_compilation/fail58.d(30):        cannot pass argument `""` of type `string` to parameter `dchar[] pText`
+---
+*/
 debug(1) import std.stdio;
 const int anything = -1000; // Line #2
 dchar[] SomeFunc( dchar[] pText, out int pStopPosn)
index c422c1436d1051cf7599831716e1b67038335a6e..236a956de923e018a7cd24dc23838667ef1ddcce 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail5851.d(11): Error: alias this is not reachable as `Foo` already converts to `object.Object`
+---
+*/
 
 class Foo
 {
index f977c5822bb088c4b59414ed2bfc076bcc572935..cd64e74b85ffeca1516508138aa784a0dc91924e 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail5953a1.d(9): Error: expression expected, not `,`
+---
+*/
 void main()
 {
     auto a2 = [,];    // invalid, but compiles
index a1e6c75cb3a299a1a4f6570a357198410c715317..2edbc1029872ae43163f6fd0e4bf677ceaf51569 100644 (file)
@@ -1,3 +1,11 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail5953a2.d(11): Error: expression expected, not `,`
+fail_compilation/fail5953a2.d(11): Error: expression expected, not `,`
+fail_compilation/fail5953a2.d(11): Error: expression expected, not `,`
+---
+*/
 void main()
 {
     auto a3 = [,,,];    // invalid, but compiles
index c64601b003c5942b7ef9d972dd7ea162e0087410..275c3f9579870f19663d3e3399f0e4348419d8d7 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail5953s1.d(10): Error: expression expected, not `,`
+---
+*/
 void main()
 {
     struct S{}
index 3f1ac9c42d42dbc624edf6f7811ca994a87feb1b..d66ff5d20d34798e7246c9590b9f0e3bfb7af8bd 100644 (file)
@@ -1,3 +1,11 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail5953s2.d(12): Error: expression expected, not `,`
+fail_compilation/fail5953s2.d(12): Error: expression expected, not `,`
+fail_compilation/fail5953s2.d(12): Error: expression expected, not `,`
+---
+*/
 void main()
 {
     struct S{}
index 3d660252be8fff70a68e135f0e0d3cb525479ea4..ec8de0b223c92b95c71a7ae7ef5881766183ff8b 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail60.d(14): Error: `this` is only defined in non-static member functions, not `A`
+---
+*/
 class A
 {
  class B
index e5199db66280cc512e9b41febf71fae9a752468c..45797ebccc92352160cbdfae5a1095c242e6221e 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail6029.d(10): Error: alias this is not reachable as `A` already converts to `A`
+---
+*/
 struct A
 {
     static A a;
index 92df7700563e87015e519236e81ff4a914e34609..08f5de3e2996f4d924eda21d837d69c326b59d77 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail6242.d(9): Error: cannot implicitly override base class method `fail6242.A.fun` with `fail6242.B.fun`; add `override` attribute
+---
+*/
 class A { void fun(int) {} }
 
 class B : A { void fun(int x) in { assert(x > 0); } body {} }
index 52b97a3b0d0a020a1ecf8cd78d34e8c7cdef6909..218de0d861e8eebe57803962ad23d4f576e1f61a 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail6458.d(10): Error: Invalid trailing code unit
+---
+*/
 
 void main()
 {
index d985cb4555328fadf62b7b78ecb378c0bb0a472e..3ac90b5c0c089bff4911cbfbd448508445a0c047 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail6497.d(12): Error: cannot take address of local `n` in `@safe` function `main`
+fail_compilation/fail6497.d(12): Error: cannot take address of local `n` in `@safe` function `main`
+---
+*/
 
 void main() @safe
 {
index 8a9da8ba2e8a035cb5c5141888f1aa0369d390c2..456ef0de7f57e9b084b3c08ccf6811a8f7ae0399 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail6561.d(9): Error: undefined identifier `x`
+---
+*/
 struct S
 {
     alias x this;   // should cause undefined identifier error
index 781688978d1dc9252078356c73a12946099682fb..26587dc7e5ab51ab688ebaea2b90cbf432dfe47f 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail6611.d(11): Error: cannot post-increment array slice `x[]`, use pre-increment instead
+---
+*/
 
 void main()
 {
index ef1c77f073a87dcc4a1c980bb198834d8e512725..174ca3d2481a3d9cff61135fc04261155bfe5e94 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail6781.d(9): Error: undefined identifier `some_error`
+fail_compilation/fail6781.d(14): Error: template instance `fail6781.C6781.makeSortedIndices.bug6781!(greater)` error instantiating
+---
+*/
 void bug6781(alias xxx)() {
     some_error;
 }
index 69f63b9cbcea7f65ec4e7f6c6fe3c4a487fc9ea7..b56a5db931ee1c066331b5a583e2ea7b679a9e85 100644 (file)
@@ -1,4 +1,14 @@
-// 6968
+// https://issues.dlang.org/show_bug.cgi?id=6968
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail6968.d(26): Error: cannot pass type `int` as a function argument
+fail_compilation/fail6968.d(26): Error: cannot pass type `long` as a function argument
+fail_compilation/fail6968.d(26): Error: circular initialization of variable `fail6968.PredAny!(int, long, float).PredAny`
+fail_compilation/fail6968.d(31): Error: template instance `fail6968.PredAny!(int, long, float)` error instantiating
+fail_compilation/fail6968.d(31):        while evaluating `pragma(msg, PredAny!(int, long, float))`
+---
+*/
 
 template Pred(A, B)
 {
index 2f6c748f7c052d7c9f35b27cd64cb82079fe7b48..05ba7f9fc0a4da496a05482addacfc24e80853bb 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7173.d(23): Error: expression `b1._a.opBinary(b2._a).fun()` is `void` and has no value
+---
+*/
 struct A{
 
   A opBinary(string op)(A a){ A rt; return rt; }
index 04a1018d8c5374192f634c6c4292415a653e375e..85402493ed48836557068f6c23fdec65398ca043 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7178.d(10): Error: undefined identifier `contents` in module `fail7178`
+fail_compilation/fail7178.d(12): Error: mixin `fail7178.populate!int` error instantiating
+---
+*/
 template populate(overloads...)
 {
     mixin populate!(.contents);
index e8ddd4e438c059c63b5702248a464210b5c2e282..f38308d7f182066b334855052e8ddbbd027f498a 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7234.d(14): Error: no property `empty` for type `Contract*`, perhaps `import std.range;` is needed?
+---
+*/
 
 struct Contract {
     void opDispatch()(){}
index b54757d96e31aed9d11d8f27e4770fb21abc4848..f17dc96277ada438e0063c124d2721fddad8296b 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7369.d(9): Error: cannot modify `this.a` in `const` function
+---
+*/
 struct S7369 {
     int a;
     invariant() { a += 5; }
index d358b60c7db883b63db985f6b45408d16b3500da..1a7e092fb5ba88c8eb8b5dc26823bc289acc1fe6 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7424b.d(10): Error: cannot resolve type for this.g()()
+---
+*/
 struct S7424b
 {
     @property int g()() { return 0; }
index c0671786ce58283c7cbc79ea3656d4f9f3fa9617..1c0654091f7568e2d81d78215778a08094ea90c2 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7424c.d(10): Error: cannot resolve type for this.g()()
+---
+*/
 struct S7424c
 {
     @property int g()() { return 0; }
index a981be6a39c5d1efeaef19d4b1c8ec4a8397ea70..d784a7580c45588717d8c396bf029b171440341a 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7424d.d(10): Error: cannot resolve type for this.g()()
+---
+*/
 struct S7424d
 {
     @property int g()() immutable { return 0; }
index 4dfda623e3b1173cf302017901af573d1e5e67e8..3bf3a2d97dbf7e2ea8867efc3fc692b61fe3089f 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7424e.d(10): Error: cannot resolve type for this.g()()
+---
+*/
 struct S7424e
 {
     @property int g()() immutable { return 0; }
index e72a05b564937d237ef4e3887ad0a9524ae44b48..266163de75d84c2845111ea5fa89c2ae3d97c0cc 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7424f.d(10): Error: cannot resolve type for this.g()()
+---
+*/
 struct S7424f
 {
     @property int g()() shared { return 0; }
index 059f586a480a5b9a207c12c9cd7ad455297cf2f2..aca6586c8f8fe342f9a2925962364f3d2a1a4484 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7424g.d(10): Error: cannot resolve type for this.g()()
+---
+*/
 struct S7424g
 {
     @property int g()() { return 0; }
index fd22b2efde04f3a27288cb119bf8639220f5dece..e08eac13de28e1b4de9ff819346471de5b1da1f2 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7424h.d(10): Error: cannot resolve type for this.g()()
+---
+*/
 struct S7424g
 {
     @property int g()() { return 0; }
index 2871e9321405ad5924915aa4f720a42e0a6e0c50..1c2cb1cd687bb729a6148df59c2c3745e694c268 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7424i.d(10): Error: cannot resolve type for this.g()()
+---
+*/
 struct S7424g
 {
     @property int g()() immutable { return 0; }
index 6f1ebefb27ff0932b23b741b80031fccfc1beedb..834c31570287015e3893e99d560e72e14a9566b7 100644 (file)
@@ -1,4 +1,10 @@
-
-// 7524
+/*
+REQUIRED_ARGS: -o-
+TEST_OUTPUT:
+----
+fail_compilation/fail7524a.d(10): Error: #line integer ["filespec"]\n expected
+fail_compilation/fail7524a.d(10): Error: declaration expected, not `"$r:\w+ +\d+ \d+$"`
+----
+*/
 
 #line 47 __DATE__
index 042baf5d1d61729648bcb89dc855def28e2ba4e8..f462746ece62b669cfe8ec1f08a45216a0266e3e 100644 (file)
@@ -1,3 +1,10 @@
-// 7524
+// https://issues.dlang.org/show_bug.cgi?id=7524
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7524b.d(10): Error: #line integer ["filespec"]\n expected
+fail_compilation/fail7524b.d(10): Error: declaration expected, not `$n$L`
+---
+*/
 
 #line 47 __VERSION__
index e1d28eaf742828a6a2854157e773c6e4062c420e..76a92c2b193d0bec910e17b91c336411d40b2816 100644 (file)
@@ -1 +1,7 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7603a.d(7): Error: cannot modify constant `true`
+---
+*/
 void test(ref bool val = true) { }
index 5317072296e820a660820f78075b920c6a254ecd..9b84d3f6a4d859a1ee3da71863d43a71fea872f2 100644 (file)
@@ -1 +1,7 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7603b.d(7): Error: cannot modify constant `true`
+---
+*/
 void test(out bool val = true) { }
index f5f6e18caf27ecb69860192e4c20c477e1cadea3..25a7399dd7ae0ef56e1152033fdbb521859a4b45 100644 (file)
@@ -1,2 +1,8 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7603c.d(8): Error: cannot modify constant `3`
+---
+*/
 enum x = 3;
 void test(ref int val = x) { }
index 79ada7063ea2f5bf8d13e93b9a22a0d62ebc69e9..687b0ad129333839110472ae6dc042fef922542d 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail77.d(11): Error: cannot cast expression `& i` of type `int*` to `ubyte[4]`
+---
+*/
 void test()
 {
     int i;
index 8b7ae21cb89fa7dffa2854d5d98318a6428cb5a5..4638c0bcfa4e2f0d447377c3c1690550b282c7c7 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7702.d(14): Error: `s.opDispatch!"x"` isn't a template
+---
+*/
 struct S
 {
    template opDispatch (string name) {}
index e367d0e3b375d9f41730a1da9d53c8c9aaca5a00..87143fa7d2439db5139aa8e4f94737676f1ed516 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7751.d(15): Error: no constructor for `Foo`
+fail_compilation/fail7751.d(23): Error: template instance `fail7751.foo!int` error instantiating
+---
+*/
 class Foo(T)
 {
     T x;
index 7ede41f3728219dbd1840fec449148b3488eb693..f5d9ea385b6d02b9fe86b7807f93ac2b2725306d 100644 (file)
@@ -1,4 +1,12 @@
-// 7851
+// https://issues.dlang.org/show_bug.cgi?id=7851
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7851.d(38): Error: need `this` for `__mem_field_0` of type `int`
+fail_compilation/fail7851.d(38): Error: need `this` for `__mem_field_1` of type `long`
+fail_compilation/fail7851.d(38): Error: need `this` for `__mem_field_2` of type `float`
+---
+*/
 
 
 template TypeTuple(TList...)
index 436d3a363b4340380bce384e86652b73fd753596..ef8b770dd5a284beb89f39ec6b39665e4c1537c2 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7859.d(9): Error: undefined identifier `NonExistent`
+---
+*/
 template A(alias B) {}
 
 mixin template C(alias B = cast(NonExistent)null) {
index ce59e8edee22d9ef2e2160d566e094b9e59b99c7..e3a2d0817cef81153ddc4d368d9713391180eb92 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail7861.d(17): Error: no property `nonexistent` for type `test.B`
+---
+*/
 module test;
 
 mixin template A() {
index 1af7e2c279bb635e93b6a33de2c02876a29acce5..19a0712f838220075d17882d2cd482f89b3cb8e3 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail8009.d(9): Error: template `fail8009.filter` cannot deduce function from argument types `!()(void)`, candidates are:
+fail_compilation/fail8009.d(8):        `filter(R)(scope bool delegate(ref BAD!R) func)`
+---
+*/
 void filter(R)(scope bool delegate(ref BAD!R) func) { }
 void main() { filter(r => r); }
 
index a328181c20a946a3b9d83a55854ecbd336f1d42f..9f6dc40669f6e28897eb0b2ad9cec569719214ca 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail8032.d(19): Error: function `fail8032.B.f` cannot determine overridden function
+---
+*/
 mixin template T()
 {
     void f() { }
index 9dec1bdb289c8aa96d39745c8e197ec405a846b4..2badeff454bc474a7c229f15c65e97406b174e83 100644 (file)
@@ -1,3 +1,13 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail8313.d(13): Error: `fail8313.bar` called with argument types `(int)` matches both:
+fail_compilation/fail8313.d(11):     `fail8313.bar!().bar(int x)`
+and:
+fail_compilation/fail8313.d(12):     `fail8313.bar!().bar(int x)`
+fail_compilation/fail8313.d(13):        while evaluating: `static assert(bar()(int x)(1))`
+---
+*/
 auto bar()(int x){return x;}
 auto bar()(int x = bar()){return x;}
 static assert(bar(1));
index e1979bb2ce8b8a7e2b1dbdde978d7dd30b36e783..8e46023d3bdac7fe134e3b3e3adf2a5ac1d15be3 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail8691.d(7): Error: struct `fail8691.Foo` cannot have field `f` with static array of same struct type
+---
+*/
 struct Foo
 {
     Foo[1] f;
index bd7e95283f44ca11cd35ce8a48855f07fae3ce8b..eee727036959a60f5337c96cf51724d6e752fdb0 100644 (file)
@@ -1,6 +1,9 @@
 /*
-REQUIRED_ARGS: -o-
-PERMUTE_ARGS:
+REQUIRED_ARGS: -m64 -o-
+TEST_OUTPUT:
+---
+fail_compilation/fail9301.d(11): Error: cannot implicitly convert expression `0` of type `int` to `__vector(void[16])`
+---
 */
 
 void main()
index 23fef9357cbd480fa7b70402df20fa78c13caa32..335b6952270232fc9503f2a8a095e2404f382966 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail94.d(28): Error: cannot implicitly override base class method `fail94.A.clone` with `fail94.B.clone`; add `override` attribute
+---
+*/
 interface I
 {
     int foo();
index 18a18cc3d857a219d8cbc2da31be8d10a3d2caac..7f9d007af45f81d0b76392bffd1fa86cdf9709b2 100644 (file)
@@ -1,4 +1,11 @@
 // PREMUTE_ARGS:
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fail9613.d(12): Error: `(arguments)` expected following `const(byte)`
+fail_compilation/fail9613.d(12): Error: semicolon expected following auto declaration, not `.`
+---
+*/
 
 void main()
 {
index fc3d7913246eadd960139745de360db5dd55f797..aa7a4b66f5425e9c62ef1cb2c24882dce55d06f3 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/failinout1.d(9): Error: cannot modify `inout` expression `x`
+---
+*/
 inout(int) foo(inout(int) x)
 {
     x = 5;  // cannot modify inout
index 12a9c44f84a240370ecfb084b55cc444b5a2d9aa..e1553636ab7cc2ce829ec031d65e19f250c4f152 100644 (file)
@@ -1 +1,7 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/failinout2.d(7): Error: variable `failinout2.x` only parameters or stack based variables can be `inout`
+---
+*/
 inout int x;
index bb2cd55aaf548b2709511b31bc0c653cd9768a14..77edb7e523d38e317e0de5147fa62fcbd5f205a1 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/failinout3748a.d(9): Error: variable `failinout3748a.S3748.err8` only parameters or stack based variables can be `inout`
+---
+*/
 struct S3748
 {
     inout(int) err8;
index 741e44fa0a53a750b49a570dc7ef278a298dd2cf..b6dddd879ca938f289a60071834a904bb272fe00 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/failinout3748b.d(9): Error: variable `failinout3748b.main.err11` `inout` variables can only be declared inside `inout` functions
+---
+*/
 void main()
 {
     inout(int)* err11;
index b2a3f227b0d1c16d4551e005207f2829412da818..e121bda1b96e6d7e7688da67c509b83fa554c25d 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/failsafea.d(14): Error: `@safe` function `failsafea.callingsystem` cannot call `@system` function `failsafea.systemfunc`
+fail_compilation/failsafea.d(9):        `failsafea.systemfunc` is declared here
+---
+*/
 
 void systemfunc() @system {}
 
index c04d9ee5dc72c77ec45fcbfe45e78734f1d427b0..6af6b6f98c6493fdd0e187bfec5ac866fec18577 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/failsafeb.d(13): Error: `@safe` function `failsafeb.callingsystem` cannot call `@system` function pointer `sysfuncptr`
+---
+*/
 
 void function() @system sysfuncptr;
 
index 8bcda913720e4d6cc22857f4cfd926c4d708329e..4446e76fde22d421eeea59a4c71912014800f8d4 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/failsafec.d(13): Error: `@safe` function `failsafec.callingsystem` cannot call `@system` delegate `sysdelegate`
+---
+*/
 
 void delegate() @system sysdelegate;
 
index 8c3563c2c0337d66360dc08edcbf99c61e440dd4..2d60a009d7d2f37b9fc7c552b44e54157dc1d358 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fix350a.d(12): Error: comma expected separating field initializers
+fail_compilation/fix350a.d(12): Error: comma expected separating field initializers
+---
+*/
 struct S1
 {
     int a, b, c;
index 6c1a0bc949eac7df7306f07cdd9db58536e4b5c1..8ec428f885452f8e42a7f4dee619c7d155fd6543 100644 (file)
@@ -1,3 +1,11 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/fix350b.d(15): Error: comma expected separating field initializers
+fail_compilation/fix350b.d(15): Error: comma expected separating field initializers
+fail_compilation/fix350b.d(16): Error: comma expected separating field initializers
+---
+*/
 int foo() { return 3; }
 
 struct S2
index b7983bbc4829805adb9984642631aee04a2d7f26..763fc06a0bbbb212e71b898f0b7278cb014f9323 100644 (file)
@@ -1,4 +1,14 @@
-// 10273 - ICE in CTFE
+// https://issues.dlang.org/show_bug.cgi?id=10273
+// ICE in CTFE
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice10273.d(14): Error: cannot implicitly convert expression `3.45` of type `double` to `int`
+fail_compilation/ice10273.d(13): Error: CTFE failed because of previous errors in `Bug10273.init`
+fail_compilation/ice10273.d(22):        called from here: `bug10273()`
+fail_compilation/ice10273.d(22):        while evaluating: `static assert(bug10273())`
+---
+*/
 
 struct Bug10273 {
     int val = 3.45;
index 347ac3557b5d15ed342412bb94111c894ce404fe..f52b8a276453fc1c24e65d5a02c782896505bed2 100644 (file)
@@ -1,4 +1,10 @@
-// 10283
+// https://issues.dlang.org/show_bug.cgi?id=10283
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice10283.d(14): Error: cannot implicitly convert expression `7` of type `int` to `string`
+---
+*/
 
 S10283 blah(S10283 xxx) { return xxx; }
 S10283 repy = blah(S10283());
index b8be25ade0f7cb4b8630ff5fdfc654daa4a98877..6e9649c486b347d9460a2eaf1117d6ce6b3898e9 100644 (file)
@@ -1,4 +1,13 @@
-// 10599 ICE(interpret.c) 
+// https://issues.dlang.org/show_bug.cgi?id=10599
+// ICE(interpret.c)
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice10599.d(13): Error: cannot implicitly convert expression `3.45` of type `double` to `int`
+fail_compilation/ice10599.d(21):        called from here: `bug10599()`
+fail_compilation/ice10599.d(21):        while evaluating: `static assert(bug10599())`
+---
+*/
 
 struct Bug {
     int val = 3.45;
@@ -9,4 +18,4 @@ int bug10599()
     return 1;
 }
 
-static assert(bug10599());
\ No newline at end of file
+static assert(bug10599());
index 9046f0935126d41a0dd0cd41dd9baf82c2220d4d..39eb120827a3819237051d0f96a805265d8d7165 100644 (file)
@@ -1 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice11963.d(10): Error: unexpected `(` in declarator
+fail_compilation/ice11963.d(10): Error: identifier expected for template type parameter
+fail_compilation/ice11963.d(10): Error: no identifier for declarator `A`
+fail_compilation/ice11963.d(10): Error: declaration expected, not `""`
+---
+*/
 A("")=
index 8c036ee969085494f2d5a738f7615e437ec0d018..c8db60fe9c9fab0d97abf8306d810dc3c5ef5284 100644 (file)
@@ -1 +1,14 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice11965.d(15): Error: no identifier for declarator `b*`
+fail_compilation/ice11965.d(15): Error: found `End of File` when expecting `}` following compound statement
+fail_compilation/ice11965.d(15): Error: found `End of File` when expecting `]`
+fail_compilation/ice11965.d(15): Error: no identifier for declarator `u[()
+{
+b* A;
+}
+]`
+---
+*/
 u[{b*A,
index 93b81309020be29b5cbcbbf93742cbefa1dbd515..a3bda63f8fba9dd174d0ac6f3ca4087cfe851689 100644 (file)
@@ -1 +1,12 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice11967.d(12): Error: use `@(attributes)` instead of `[attributes]`
+fail_compilation/ice11967.d(12): Error: expression expected, not `%`
+fail_compilation/ice11967.d(12): Error: found `g` when expecting `)`
+fail_compilation/ice11967.d(12): Error: found `{` when expecting `]`
+fail_compilation/ice11967.d(13): Error: `@identifier` or `@(ArgumentList)` expected, not `@End of File`
+fail_compilation/ice11967.d(13): Error: declaration expected following attribute, not end of file
+---
+*/
 [F(%g{@
index ce0d9fcf97f169c576b59e1cc1da69c68a27d54c..651f1623f1cf59d260919680ae4a0a8f9df1752a 100644 (file)
@@ -1 +1,9 @@
+/*
+TEST_OUTPUT:
+----
+fail_compilation/ice11968.d(9): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+fail_compilation/ice11968.d(9): Error: cannot modify string literal `"fail_compilation$?:windows=\\|/$ice11968.d"`
+----
+*/
+
 void main() {  delete __FILE__  ; }
index d9f2f3007e0f6f3de8e0851950c0cf484b7569ae..3bf5a7042494f6e9fb0ca310cadf96edf3204363 100644 (file)
@@ -1 +1,7 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice11974.d(7): Error: cannot modify constant `0`
+---
+*/
 void main() {  0 = __LINE__ ^^ [ 0 ] ; }
index 251dada4bc3344ac553b5dad6f4889f5188b6a2f..ff5fae491c60b08f78a4b931d89ffea8f5b30847 100644 (file)
@@ -1 +1,16 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice11982.d(16): Error: basic type expected, not `scope`
+fail_compilation/ice11982.d(16): Error: found `scope` when expecting `;` following statement
+fail_compilation/ice11982.d(16): Error: basic type expected, not `}`
+fail_compilation/ice11982.d(16): Error: missing `{ ... }` for function literal
+fail_compilation/ice11982.d(16): Error: C style cast illegal, use `cast(funk)function _error_()
+{
+}
+`
+fail_compilation/ice11982.d(16): Error: found `}` when expecting `;` following statement
+fail_compilation/ice11982.d(17): Error: found `End of File` when expecting `}` following compound statement
+---
+*/
 void main() { new scope ( funk ) function }
index 57f0ec00c25a5178ef9b8e49613ba0a931874090..fb49e8e648c1fffda6b3fade32f90b88c7f7dc57 100644 (file)
@@ -1,3 +1,13 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice12673.d(13): Error: static assert:  `__traits(compiles, () pure nothrow @nogc @safe
+{
+__error__
+}
+)` is false
+---
+*/
 void main()
 {
     static assert(__traits(compiles, { abcd(); }));
index 87e56e428fbd58be44b2dcda72fc23f0de3c5ead..aa44709124a31d3fbb86b42572e1a836617a95fd 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice13644.d(22): Error: foreach: key cannot be of non-integral type `string`
+---
+*/
 
 struct Tuple(T...)
 {
index 407288b17f067df555a3f998da583d3c02a9f92c..e800838c45c14becfbd2b28920fd8bd237a1c5fa 100644 (file)
@@ -1,3 +1,24 @@
 // REQUIRED_ARGS: -o-
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice15855.d(25): Error: found `End of File` when expecting `(`
+fail_compilation/ice15855.d(25): Error: found `End of File` instead of statement
+fail_compilation/ice15855.d(25): Error: expression expected, not `End of File`
+fail_compilation/ice15855.d(25): Error: found `End of File` when expecting `;` following `for` condition
+fail_compilation/ice15855.d(25): Error: expression expected, not `End of File`
+fail_compilation/ice15855.d(25): Error: found `End of File` when expecting `)`
+fail_compilation/ice15855.d(25): Error: found `End of File` instead of statement
+fail_compilation/ice15855.d(25): Error: found `End of File` when expecting `}` following compound statement
+fail_compilation/ice15855.d(25): Error: found `End of File` when expecting `]`
+fail_compilation/ice15855.d(25): Error: no identifier for declarator `a[()
+{
+for (; 0; 0)
+{
+}
+}
+]`
+---
+*/
 
 a[{for
index 161995abb79ebfabe580fbf8a5efc76045cf927a..d42011a0dd06b4b3c11ab0862ced6af079f3e9d8 100644 (file)
@@ -1,3 +1,14 @@
+/*
+EXTRA_FILES: imports/ice7782algorithm.d imports/ice7782range.d
+TEST_OUTPUT:
+----
+fail_compilation/ice7782.d(13): Error: module `ice7782math` is in file 'imports/ice7782range/imports/ice7782math.d' which cannot be read
+import path[0] = fail_compilation
+import path[1] = $p:druntime/import$
+import path[2] = $p:phobos$
+----
+*/
+
 import imports.ice7782algorithm;
 import imports.ice7782range. imports.ice7782math;
 
index a734c2f24e1c0e032395365e7ed4514d93b022a5..3c179982fd9501b2b58d67dcce45a362b8ac0ffc 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice8604.d(9): Error: undefined identifier `i`
+---
+*/
 struct StructFoo
 {
     static if(i) { }
index ef733dc864f78154ebb2609e78e0b7ded0dd7fb6..a96ef34b6c0f357c54c6b4d8dc27f9a2f81fa530 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice8630.d(9): Error: undefined identifier `v`
+fail_compilation/ice8630.d(10): Error: template instance `ice8630.foo!(int[])` error instantiating
+---
+*/
 auto map(alias func, R)(R r) { return r; }
 typeof(v) foo(R)(R v) { return map!(p=>p)(v); }
 void main() { foo([1]); }
index 480a2d7357a7c1a557f77dc9fe819701e6818e27..d8140710cf34afad8a48bfd60555a255598abcb3 100644 (file)
@@ -1,4 +1,9 @@
-// PERMUTE_ARGS:
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice8742.d(15): Error: class `ice8742.main.__anonclass1` is nested within `main`, but super class `D` is nested within `C`
+---
+*/
 class C
 {
     class D { }
index 116729fa55f9a91d80569f37acb8ccdfad265d5a..47a451b550489a581b743146be42637f6d7ad4b9 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice9013.d(9): Error: undefined identifier `missing`
+---
+*/
 void main()
 {
     foreach (i; 0 .. missing)
index 594b5ce54fa22f81de4da2c2187958c7ced49401..6b8f2f3c4155e844e53e49ac5b7f3dd25e96f7dd 100644 (file)
@@ -1,3 +1,14 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice9254a.d(15): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254a.d(15): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254a.d(15): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254a.d(15): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254a.d(15): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254a.d(15): Error: invalid `foreach` aggregate `false`
+---
+*/
 
 void main()
 {
index c5a9944adb3f8dcff5d7bde32869a7aeb593f319..a430fbfdeb416691443cf121427b2397049d9b09 100644 (file)
@@ -1,3 +1,14 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice9254b.d(17): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254b.d(17): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254b.d(17): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254b.d(17): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254b.d(17): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254b.d(17): Error: invalid `foreach` aggregate `false`
+---
+*/
 
 class C
 {
index d816bbfc117db766fc5cabb8c44c75111edf59f9..b58cfe5751a72a13331c9fbb1c1895468efe36fb 100644 (file)
@@ -1,3 +1,14 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/ice9254c.d(15): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254c.d(15): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254c.d(15): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254c.d(15): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254c.d(15): Error: Using the result of a comma expression is not allowed
+fail_compilation/ice9254c.d(15): Error: invalid `foreach` aggregate `false`
+---
+*/
 
 void main()
 {
index 1e1387cbae54be1eed20293ce4d16bcec7932d0f..2b3abeb45dfa0bd887732eb5b829bdf2646bc78d 100644 (file)
@@ -1,4 +1,5 @@
-/* PERMUTE_ARGS:
+/*
+TEST_OUTPUT:
 ---
 fail_compilation/imphint.d(14): Error: 'printf' is not defined, perhaps you need to import core.stdc.stdio; ?
 fail_compilation/imphint.d(15): Error: 'writeln' is not defined, perhaps you need to import std.stdio; ?
index f419869236bc2cd142e9122964a4c1075fff3048..6a5a16d1e68a34bd46d7f277c9bd432ecfee24cf 100644 (file)
@@ -1,6 +1,6 @@
 /*
 REQUIRED_ARGS: -m64
-PERMUTE_ARGS:
+TEST_OUTPUT:
 ---
 fail_compilation/staticarrayoverflow.d(24): Error: static array `S[1879048192]` size overflowed to 7516192768000
 fail_compilation/staticarrayoverflow.d(24): Error: variable `staticarrayoverflow.y` size overflow
index 9dae856c349e3e137b85a641d1ca206a7d41ff4e..aeceb52cadc9b16453112c79b799ce0090ba5454 100644 (file)
@@ -1 +1,7 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/test1.d(8): Error: no identifier for declarator `fail`
+---
+*/
 fail
index 242119e71db0411ec1bb154f689292d1f31d07ac..020d807d8b8773360a4ff106ead44e9ef40af2e3 100644 (file)
@@ -1,5 +1,6 @@
 /*
 REQUIRED_ARGS: -de
+TEST_OUTPUT:
 ---
 fail_compilation/test11176.d(12): Deprecation: b.ptr cannot be used in @safe code, use &b[0] instead
 fail_compilation/test11176.d(16): Deprecation: b.ptr cannot be used in @safe code, use &b[0] instead
index 94f614a912692ca71ff60d1197028314fc85cd49..1a1ed70698bf3a0dd6fea1d4168c0e2e910ca9e5 100644 (file)
@@ -1,5 +1,13 @@
 // REQUIRED_ARGS: -de
-module test143; // Bugzilla 143
+// https://issues.dlang.org/show_bug.cgi?id=143
+// EXTRA_FILES: imports/test143.d
+/*
+TEST_OUTPUT:
+---
+fail_compilation/test143.d(20): Error: undefined identifier `x`
+---
+*/
+module test143;
 
 import imports.test143;
 
index 8aecfdee6dcd52cb3c84b80e42d2f58a389ec450..bad3ed295546fe0de0497a2fc095a8fb876c775a 100644 (file)
@@ -1,4 +1,5 @@
 /* https://issues.dlang.org/show_bug.cgi?id=15399
+TEST_OUTPUT:
 ---
 fail_compilation/test15399.d(31): Error: writing to misaligned pointer in field S1.ptr is not @safe
 fail_compilation/test15399.d(32): Error: writing to misaligned pointer in field S2.ptr is not @safe
index ffdb41ac467cdeb5a49492033ec6647b45fbf47b..38219e987e27df0b0de9377c8f699005270cced1 100644 (file)
@@ -1,4 +1,9 @@
-/* PERMUTE_ARGS:
+TEST_OUTPUT:
+---
+fail_compilation/test16188.d(1): Error: no identifier for declarator `TEST_OUTPUT`
+fail_compilation/test16188.d(1): Error: declaration expected, not `:`
+fail_compilation/test16188.d(18): Error: unrecognized declaration
+---
  */
 
 // https://issues.dlang.org/show_bug.cgi?id=16188
index 412cb214d6c71fa33fb86ca0561128d4c296179e..35778343cc906bd7f05622c4cdb8336b69b4290c 100644 (file)
@@ -1,3 +1,10 @@
+/*
+EXTRA_FILES: imports/test5412a.d imports/test5412b.d
+TEST_OUTPUT:
+---
+fail_compilation/test5412a.d(11): Error: import `test5412a.A` conflicts with import `test5412a.A` at fail_compilation/test5412a.d(10)
+---
+*/
 module test5412a;
 
 import A = imports.test5412a;
index 846fdd3f00e14b3ce0b7b68cc425b88c4161111a..8f06b52658cf356f820257e23bba32dce2f3b5dc 100644 (file)
@@ -1,3 +1,10 @@
+/*
+EXTRA_FILES: imports/test5412a.d imports/test5412b.d
+TEST_OUTPUT:
+---
+fail_compilation/test5412b.d(11): Error: static import `test5412b.A` conflicts with import `test5412b.A` at fail_compilation/test5412b.d(10)
+---
+*/
 module test5412b;
 
 import A = imports.test5412a;
index 88290f66d4971ce02d1e06336ab047d799eaeaf0..b3073ee63a17d03f968ed172e4fbb4859bae8a03 100644 (file)
@@ -1,3 +1,10 @@
+/*
+EXTRA_FILES: test5412c2.di imports/test5412a.d
+TEST_OUTPUT:
+---
+fail_compilation/test5412c.d(11): Error: import `test5412c.test5412c2` conflicts with import `test5412c.test5412c2` at fail_compilation/test5412c.d(10)
+---
+*/
 module test5412c;
 
 import test5412c2 = imports.test5412a;
diff --git a/gcc/testsuite/gdc.test/fail_compilation/test5412c2.di b/gcc/testsuite/gdc.test/fail_compilation/test5412c2.di
new file mode 100644 (file)
index 0000000..0023c5f
--- /dev/null
@@ -0,0 +1 @@
+module test5412c2;
index 121ae9e281495c2ec834beb71a514d768487ccd8..b39c00f964f71dde12bced46b76423fbf8267109 100644 (file)
@@ -1,3 +1,10 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/test8509.d(13): Error: cannot implicitly convert expression `"hello world"` of type `string` to `E`
+fail_compilation/test8509.d(14): Error: cannot implicitly convert expression `"hello world"` of type `string` to `E`
+---
+*/
 module test8509;
 enum E : string { a = "hello", b = "world" }
 
index f739a5a9c1fa918057f812ba551720fb55994e45..d7057b89fc47b56fc5fe9fabe664fe7733946bf8 100644 (file)
@@ -1,3 +1,9 @@
+/*
+TEST_OUTPUT:
+---
+fail_compilation/test8751.d(7): Error: undefined identifier `Bar`
+---
+*/
 Bar foo3(ref const int x) pure {
     return y => x > y; // error
 }
index 8cd00517692172fae77670994610dca6df511838..ee8e6a13ce0c5efede1e6d7181108371d15e51dd 100644 (file)
@@ -1,3 +1,29 @@
+/*
+TEST_OUTPUT:
+---
+false
+[] = int
+[] = string
+[0] = int
+[1] = string
+[] = string
+[] = int
+[1] = string
+[0] = int
+---
+
+RUN_OUTPUT:
+---
+1 1.1
+ctor
+cpctor
+dtor
+cpctor
+dtor
+dtor
+Success
+---
+*/
 
 extern (C) int printf(const(char*) fmt, ...);
 import core.vararg;
@@ -551,7 +577,7 @@ void test2781()
     }
 
     eval = 0;
-    foreach (i, e; tup(tup((eval++, 10), 3.14), tup("str", [1,2])))
+    foreach (i, e; tup(tup((){eval++; return 10;}(), 3.14), tup("str", [1,2])))
     {
         static if (i == 0) assert(e == tup(10, 3.14));
         static if (i == 1) assert(e == tup("str", [1,2]));
@@ -559,7 +585,7 @@ void test2781()
     assert(eval == 1);
 
     eval = 0;
-    foreach (i, e; tup((eval++,10), tup(3.14, tup("str", tup([1,2])))))
+    foreach (i, e; tup((){eval++; return 10;}(), tup(3.14, tup("str", tup([1,2])))))
     {
         static if (i == 0) assert(e == 10);
         static if (i == 1) assert(e == tup(3.14, tup("str", tup([1,2]))));
@@ -836,7 +862,7 @@ void test6369c()
 void test6369d()
 {
     int eval = 0;
-    Seq!(int, string) t = tup((++eval, 10), "str");
+    Seq!(int, string) t = tup((){++eval; return 10;}(), "str");
     assert(eval == 1);
     assert(t[0] == 10);
     assert(t[1] == "str");
index 42406ea44a57fba494eb942a817360df5952ec72..1d259f610cf6a24208f237df906b0040e0be8df3 100644 (file)
@@ -302,7 +302,6 @@ static assert(is(typeof( (){ C4 g = 7; C4 h = g;})));
 alias uint DWORD;
 MY_API_FUNCTION lpStartAddress;
 extern (Windows) alias DWORD function(void*) MY_API_FUNCTION;
-pragma(msg, MY_API_FUNCTION.stringof);
 static assert(MY_API_FUNCTION.stringof == "extern (Windows) uint function(void*)");
 
 /************************************/
@@ -565,7 +564,8 @@ void test13977()
     Object.init && check();
     assert(x == 0);
 
-    (check(2), false) && check();
+    check(2);
+    false && check();
     assert(x == 2); x = 0;
 }
 
@@ -594,7 +594,8 @@ void test13978()
     Object.init || check();
     assert(x == 1); x = 0;
 
-    (check(2), true) || check();
+    check(2);
+    true || check();
     assert(x == 2); x = 0;
 }
 
index 1b81a9eb7b494fa63549e413627818a9dd3775ae..89f846a96e5f6a0f0eb3dc8c0a616a1a590a28b7 100644 (file)
@@ -141,7 +141,8 @@ static assert(bazra(14)==64);
 
 void moreCommaTests()
 {
-   auto k = (containsAsm(), containsAsm());
+   (containsAsm(), containsAsm());
+   auto k = containsAsm();
    for (int i=0; i< k^^2; i+=StructWithCtor(1).n) {}
 }
 
index 0b6c6b530db670a333a0d2b0aae1059252079e02..0dbd2876d4edd5c9f34513eb62d23677dd1d6525 100644 (file)
@@ -1,3 +1,16 @@
+/*
+TEST_OUTPUT:
+---
+S7019(16), 16
+S7019(24), 24
+S7019(32), 32
+---
+
+RUN_OUTPUT:
+---
+Success
+---
+*/
 
 extern(C) int printf(const char*, ...);
 
index 59ee9065af37737d5b32f79ca7697541cd34b8e3..003a34a8e6d42444b61eeb462ec3ed5ac74691d3 100644 (file)
@@ -1,3 +1,16 @@
+/*
+TEST_OUTPUT:
+---
+int
+double
+foobar7406(T)
+test7406()
+int
+foobar7406(T)
+int
+test7406()
+---
+*/
 
 extern(C) int printf(const char* fmt, ...);
 
index d18e88a21dba20304f6f7d0b0f384a78d23e95f0..d45e3e6ddfd611a796aade97f521334283b4c43d 100644 (file)
@@ -1,3 +1,19 @@
+/*
+TEST_OUTPUT:
+---
+int delegate() pure nothrow @nogc @safe delegate() pure nothrow @nogc @safe delegate() pure nothrow @safe
+int delegate() pure nothrow @nogc @safe delegate() pure nothrow @nogc @safe delegate() pure nothrow @safe
+int
+int
+int[]
+int delegate() pure nothrow @nogc @safe function() pure nothrow @safe
+---
+
+RUN_OUTPUT:
+---
+Success
+---
+*/
 import core.vararg;
 
 extern (C) int printf(const char*, ...);
index 0b6fd959a514506e5df89597e5bc7a0d0786df96..1a91d305357e8439a7994bd49dd93b189a92fd93 100644 (file)
@@ -1,4 +1,8 @@
 /* PERMUTE_ARGS:
+TEST_OUTPUT:
+---
+runnable/future.d(15): Deprecation: `@__future` base class method `future.A.msg` is being overridden by `future.B.msg`; rename the latter
+---
  */
 
 class A
index 95c63ce99c9aa30e8117cdcf4b3b981a9152e434..baa9d5525929ecff4790a3617d7e4c745e0730a3 100644 (file)
@@ -30,7 +30,6 @@ else
 
     struct SetUnion(Rs...)
     {
-        pragma(msg, Rs);
         Rs r;
 
         // Rs[0] == RBRange!(RBNode!int*)
index b822cadfcd0d66142b9ea56d1046669241b22948..fe44744fcfcfbbd914f8263e56781c7e44e2142f 100644 (file)
@@ -1,4 +1,22 @@
-// RUNNABLE_PHOBOS_TEST
+/* RUNNABLE_PHOBOS_TEST
+TEST_OUTPUT:
+---
+true
+g
+&Test109S(&Test109S(<recursion>))
+runnable/interpret.d(3197): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/interpret.d(3199): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/interpret.d(3202): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/interpret.d(3205): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/interpret.d(3206): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/interpret.d(3212): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/interpret.d(3213): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/interpret.d(3216): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+tfoo
+tfoo
+Crash!
+---
+*/
 import std.stdio;
 
 template Tuple(A...)
index b9d0fd2afc5f4333ad0f90bf196965f692f42f9a..c1846190aed4a11f115f7ab3c29795fd70a96251 100644 (file)
@@ -75,7 +75,7 @@ void test1()
     );
 
     whiler( x < 100,
-        (printf("%d\n", x), x *= 2)
+        (){ printf("%d\n", x); x *= 2; }()
     );
 }
 
index 29f3a47f44f77549e7cd2e0895ff9e26e356df4e..7c3e3de3a716a0ad8495f12c9d3a07cb179fe8ab 100644 (file)
@@ -1,4 +1,5 @@
 // PERMUTE_ARGS: -version=A
+// EXTRA_FILES: imports/link10920a.d
 
 // It's imported but won't be linked.
 import imports.link10920a;
@@ -10,7 +11,7 @@ void main()
     {
         // Run semantic3 of BitArray.toString()
         // before the FormatSpec instantiation in main().
-        pragma(msg, typeof(ba.toString()));
+        static assert(is(typeof(ba.toString())));
     }
 
     // The instance codegen should be run always, unrelated with -version=A.
index 62918a26e3e21187ca46ed6c869e80b558ae104f..2e82610148db5edcbe70c169eb29b9a8b23e7830 100644 (file)
@@ -1,4 +1,11 @@
 // PERMUTE_ARGS: -inline -g -debug -unittest
+// EXTRA_FILES: imports/std15021conv.d
+/*
+TEST_OUTPUT:
+---
+hit!
+---
+*/
 
 import imports.std15021conv;
 
index ab5e552536b654b0b0a51c5d2e36b73211eef71f..53e95f21ca99f9e8311386746b7bfe945367ce21 100644 (file)
@@ -1,4 +1,14 @@
 // PERMUTE_ARGS:
+// EXTRA_FILES: imports/testmangle.d
+/*
+TEST_OUTPUT:
+---
+_D7imports10testmangle12detectMangleFPSQBlQBg6DetectZQq
+_D7imports10testmangle__T10DetectTmplTiZQpFNaNbNiNfZv
+true
+false
+---
+*/
 module link6574;
 
 import imports.testmangle;
index 883d58ac07c2edc4dadd3c40c551af1e7213a192..e6d36453d885ef26ff391f081265d2361f273da8 100644 (file)
@@ -1,5 +1,15 @@
 // PERMUTE_ARGS:
 // EXTRA_SOURCES: imports/mangle10077.d
+// EXTRA_FILES: imports/testmangle.d
+/*
+TEST_OUTPUT:
+---
+_D7imports10testmangle12detectMangleFPSQBlQBg6DetectZQq
+_D7imports10testmangle__T10DetectTmplTiZQpFNaNbNiNfZv
+true
+false
+---
+*/
 
 import imports.testmangle;
 
index 3591d1200e0cc32600a08b7f3e4a315c33b91eda..26a235210c927158996867ece81881c31c08fa66 100644 (file)
@@ -1,4 +1,36 @@
-// RUNNABLE_PHOBOS_TEST
+/* RUNNABLE_PHOBOS_TEST
+TEST_OUTPUT:
+---
+hello
+hello
+
+
+
+hello
+hello
+---
+
+RUN_OUTPUT:
+---
+31
+42
+53
+64
+75
+86
+97
+108
+119
+1210
+5
+test4
+Constructor
+  Inside Scope
+Destructor
+hey
+Success
+---
+*/
 import std.stdio;
 
 /*********************************************/
index fa012b5664e90e1b65a08ef6b52f0c5ad03a763e..6b2fcb06ab2d6e4ba2c4806cff35a9c4445765b7 100644 (file)
@@ -1,4 +1,10 @@
 // REQUIRED_ARGS:
+/*
+TEST_OUTPUT:
+---
+null
+---
+*/
 
 import core.stdc.stdio;
 
index c400d7f61f1fa8e00e956a0c5b62af6b6e56c510..7a1f1c333b4b5600ef01f7846ffeb2c0e0376ff9 100644 (file)
@@ -1,3 +1,16 @@
+/*
+TEST_OUTPUT:
+---
+pure nothrow @safe Object(bool b)
+pure nothrow @safe int*(bool b)
+pure nothrow @safe int[](bool b)
+---
+
+RUN_OUTPUT:
+---
+Success
+---
+*/
 extern (C) int printf(const(char*) fmt, ...);
 
 alias typeof(null) null_t;
index 0735b93509d743a9c337c566ed7a223c80b00b8c..1c5cf30aff09e35dbff0eb16a6e2893f010a3472 100644 (file)
@@ -1,4 +1,24 @@
 // PERMUTE_ARGS: -property
+/*
+TEST_OUTPUT:
+---
+decl: test
+stmt: test
+---
+
+RUN_OUTPUT:
+---
+0: getter
+1: setter
+2: getter
+3: setter
+4: setter
+5: compile error
+6: compile error
+7: setter
+Success
+---
+*/
 
 extern (C) int printf(const char* fmt, ...);
 
index ed58bcff9c8614d87cc00fbab9c56004b1fb314d..3edf8cf85aa228d057a1783d29332a63bf2b3901 100644 (file)
@@ -1,4 +1,18 @@
 // PERMUTE_ARGS: -unittest -O -release -inline -fPIC -g
+/*
+TEST_OUTPUT:
+---
+runnable/sdtor.d(36): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/sdtor.d(59): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/sdtor.d(93): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/sdtor.d(117): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/sdtor.d(143): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/sdtor.d(177): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/sdtor.d(203): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+runnable/sdtor.d(276): Deprecation: The `delete` keyword has been deprecated.  Use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead.
+S7353
+---
+*/
 
 import core.vararg;
 
@@ -879,8 +893,10 @@ void test34()
     X34[2] xs;
 //  xs[0][0] = X34();
     printf("foreach\n");
-    for (int j = 0; j < xs.length; j++) { auto x = (j++,j--,xs[j]);
-        //foreach(x; xs) {
+    for (int j = 0; j < xs.length; j++) {
+        j++,j--;
+        auto x = xs[j];
+        //foreach(x; xs)
         //printf("foreach x.i = %d\n", x[0].i);
         //assert(x[0].i == 1);
         printf("foreach x.i = %d\n", x.i);
@@ -1395,22 +1411,22 @@ void test54()
     assert(S54.t == "c");
 
     {   S54.t = null;
-        int b = 1 && (bar54(S54(1)), 1);
+        int b = 1 && (){ bar54(S54(1)); return 1;}();
     }
     assert(S54.t == "ac");
 
     {   S54.t = null;
-        int b = 0 && (bar54(S54(1)), 1);
+        int b = 0 && (){ bar54(S54(1)); return 1;}();
     }
     assert(S54.t == "");
 
     {   S54.t = null;
-        int b = 0 || (bar54(S54(1)), 1);
+        int b = 0 || (){ bar54(S54(1)); return 1;}();
     }
     assert(S54.t == "ac");
 
     {   S54.t = null;
-        int b = 1 || (bar54(S54(1)), 1);
+        int b = 1 || (){ bar54(S54(1)); return 1;}();
     }
     assert(S54.t == "");
 
@@ -1529,7 +1545,8 @@ void test57()
 
     printf("----\n");    //+
     dtor_cnt = 0;
-    if (auto s = (S57(1), S57(2), S57(10)))
+    S57(1), S57(2);
+    if (auto s = S57(10))
     {
         assert(dtor_cnt == 2);
         printf("ifbody\n");
@@ -1562,7 +1579,8 @@ void test57()
 
     printf("----\n");    //+
     dtor_cnt = 0;
-    if (auto s = (f(1), f(2), f(10)))
+    f(1), f(2);
+    if (auto s = f(10))
     {
         assert(dtor_cnt == 2);
         printf("ifbody\n");
@@ -1596,7 +1614,8 @@ void test57()
 
     printf("----\n");
     dtor_cnt = 0;
-    if ((S57(1), S57(2), S57(10)))
+    S57(1), S57(2);
+    if (S57(10))
     {
         assert(dtor_cnt == 3);
         printf("ifbody\n");
@@ -1628,7 +1647,8 @@ void test57()
 
     printf("----\n");
     dtor_cnt = 0;
-    if ((f(1), f(2), f(10)))
+    f(1), f(2);
+    if (f(10))
     {
         assert(dtor_cnt == 3);
         printf("ifbody\n");
@@ -4432,7 +4452,8 @@ struct S64
 
 S64 foo64()
 {
-    return S64((X64(), 1));
+    X64();
+    return S64(1);
 }
 
 void test64()
index b15725369bee98a21edc72d953509e1b8827fbf5..a8c6c91008c97b038507474321e5e29b591acdb8 100644 (file)
@@ -89,8 +89,8 @@ void MDCHAR()
     if(str[ITERS-1][0].sizeof != (typ).sizeof) printf("Size Error: %d\n",str[ITERS-1][0].sizeof);
 
     foreach(s; str) {
-        int lstart;
-        foreach(int idx, char c; s) {
+        size_t lstart;
+        foreach(size_t idx, char c; s) {
             if(c == '\n') {
                 typ[] t = s[lstart..idx];
                 if(t != "TEST LINE") {
@@ -108,8 +108,8 @@ void MDCHAR()
     }
 
     foreach(s; splitLines(cast(string)tmp)) {
-        int lstart;
-        foreach(int idx, char c; s) {
+        size_t lstart;
+        foreach(size_t idx, char c; s) {
             if(c == '\n') {
                 if(s[lstart..idx] != "TEST LINE") {
                     printf("Error testing character array\n");
@@ -134,8 +134,8 @@ void CHAR()
     if(str.length != (ITERS * 10)) printf("Length Error: %d\n",str.length);
     if(str.sizeof != (typ[]).sizeof) printf("Size Error: %d\n",str.sizeof);
 
-    int lstart;
-    foreach(int idx, char c; str) {
+    size_t lstart;
+    foreach(size_t idx, char c; str) {
         if(c == '\n') {
             if(str[lstart..idx] != "TEST LINE") {
                 printf("Error testing character array\n");
@@ -159,8 +159,8 @@ void WCHAR()
     if(str.length != (ITERS * 10)) printf("Length Error: %d\n",str.length);
     if(str.sizeof != (typ[]).sizeof) printf("Size Error: %d\n",str.sizeof);
 
-    int lstart;
-    foreach(int idx, char c; str) {
+    size_t lstart;
+    foreach(size_t idx, char c; str) {
         if(c == '\n') {
             if(str[lstart..idx] != toUTF16(cast(char[])"TEST LINE")) {
                 printf("Error testing character array\n");
@@ -184,8 +184,8 @@ void DCHAR()
     if(str.length != (ITERS * 10)) printf("Length Error: %d\n",str.length);
     if(str.sizeof != (typ[]).sizeof) printf("Size Error: %d\n",str.sizeof);
 
-    int lstart;
-    foreach(int idx, char c; str) {
+    size_t lstart;
+    foreach(size_t idx, char c; str) {
         if(c == '\n') {
             if(str[lstart..idx] != toUTF32(cast(char[])"TEST LINE")) {
                 printf("Error testing character array\n");
index 9adcc7d9cbd893714ec8de6140ecc618315de704..38af612e3511988a9186dc637ad4c85d46f2f558 100644 (file)
@@ -1295,7 +1295,7 @@ struct Z11256c(Ranges...)
 
 struct F11256(alias pred)
 {
-    this(int[] = null) { }
+    this(int[]) { }
 }
 
 Z!Ranges z11256(alias Z, Ranges...)(Ranges ranges)
@@ -1305,9 +1305,9 @@ Z!Ranges z11256(alias Z, Ranges...)(Ranges ranges)
 
 void test11256()
 {
-    z11256!Z11256a(S11256.init, F11256!(gv => true)());
-    z11256!Z11256b(S11256.init, F11256!(gv => true)());
-    z11256!Z11256c(S11256.init, F11256!(gv => true)());
+    z11256!Z11256a(S11256.init, F11256!(gv => true)(null));
+    z11256!Z11256b(S11256.init, F11256!(gv => true)(null));
+    z11256!Z11256c(S11256.init, F11256!(gv => true)(null));
 }
 
 /********************************************/
index 0c03ca39ad76a78f24a41eef56057509fe4ded9a..e3313672d08db334d76d6d15412a500c6ba1f2bf 100644 (file)
@@ -1,3 +1,18 @@
+/*
+TEST_OUTPUT:
+---
+instantiating...
+instantiating...
+last instantiation!!!
+---
+
+RUN_OUTPUT:
+---
+1
+3
+Success
+---
+*/
 
 import core.stdc.stdio;
 
index 81723f601825eb4b651fa500b6a3e25732a8c455..0381d890cebf9831afc0600f91a630fc44934160 100644 (file)
@@ -1,4 +1,15 @@
-// RUNNABLE_PHOBOS_TEST
+/* RUNNABLE_PHOBOS_TEST
+TEST_OUTPUT:
+---
+This actually gets evaluated!
+()
+(bool)
+(bool, short)
+(bool, short, int)
+Alias Test instantiated
+Alias Test instantiated
+---
+*/
 import std.stdio;
 import core.stdc.stdio;
 
index ce0edf1cf24e9cddf9f37bc072c767598e8be282..3f706872db831dc6d2c72e99f5f6672ca68fb0f0 100644 (file)
@@ -36,17 +36,17 @@ private string CreateAccessors(
             static assert(len == 1);
             // getter
             result ~= "bool " ~ name ~ "(){ return "
-                "("~store~" & "~toStringSfx(maskAllElse)~") != 0;}";
+                "("~store~" & "~toStringSfx(maskAllElse)~") != 0;}";
             // setter
             result ~= "void " ~ name ~ "(bool v){"
-                "if (v) "~store~" |= "~toStringSfx(maskAllElse)~";"
-                "else "~store~" &= "~toStringSfx(maskMyself)~";}";
+                "if (v) "~store~" |= "~toStringSfx(maskAllElse)~";"
+                "else "~store~" &= "~toStringSfx(maskMyself)~";}";
         }
         else
         {
             // getter
             result ~= T.stringof ~ " " ~ name ~ "(){ auto result = "
-                "("~store~" & "
+                "("~store~" & "
                 ~ toStringSfx(maskAllElse) ~ ") >>"
                 ~ toStringSfx(offset) ~ ";";
             static if (T.min < 0)
index b016ff910431c60e057fa82e70f1b14a67377da7..486eb67ab09f18acf7857adcd9f71dd19f62138a 100644 (file)
@@ -1,5 +1,53 @@
-// RUNNABLE_PHOBOS_TEST
-// PERMUTE_ARGS:
+/* RUNNABLE_PHOBOS_TEST
+PERMUTE_ARGS:
+EXTRA_FILES: imports/testmangle.d
+TEST_OUTPUT:
+---
+func
+double
+All good 1
+All good 2
+All good 3
+_D7imports10testmangle12detectMangleFPSQBlQBg6DetectZQq
+_D7imports10testmangle__T10DetectTmplTiZQpFNaNbNiNfZv
+true
+false
+uint
+int[]
+int[]
+const(K5886)
+4 ; const(K5886)
+8 ; const(K5886)
+K5886
+immutable(K5886)
+4 ; K5886
+4 ; immutable(K5886)
+1 ; K5886
+2 ; const(K5886)
+3 ; immutable(K5886)
+8 ; K5886
+9 ; const(K5886)
+10 ; immutable(K5886)
+> U = int, N:$?:64=ulong = 3LU|32=uint = 3u$
+K=string, V=int
+K=char, V=string
+T = SA, E = int, dim = $?:64=5LU|32=5u$
+T = DA, E = int
+T = AA, K = string, V = int
+pure nothrow @nogc @safe void(int t)
+pure nothrow @nogc @safe void(int t)
+T = byte
+T = char
+---
+
+RUN_OUTPUT:
+---
+typeof(T)=double typeof(S)=int
+typeof(T)=double typeof(S)=int
+typeof(T)=float typeof(S)=int
+Success
+---
+*/
 
 module breaker;
 
index 234f50b2749ba61de3bba20c916aac7c1a49c86c..405171e44ae4819bc95b0d6714de9265f9300df3 100644 (file)
@@ -901,12 +901,12 @@ void test49()
 
 void foo50(int[] f, ...)
 {
-    foreach(int i, TypeInfo ti; _arguments) { }
+    foreach(size_t i, TypeInfo ti; _arguments) { }
 }
 
 void bar50(out int[] f, ...)
 {
-    foreach(int i, TypeInfo ti; _arguments) { }
+    foreach(size_t i, TypeInfo ti; _arguments) { }
 }
 
 void test50()
index bd0487845b3a8b7fb334a6ea1247bd798a933e26..2aabb4d95d1e10787acd94229df21fd6ca8c28cf 100644 (file)
@@ -202,7 +202,9 @@ class B9
     {
         A9 test1 = new A9(1, 2, 3);
         A9 test2 = new A9(1, 2, 3, 4);
-        int[3] arg; A9 test3 = new A9((arg[0]=1, arg[1]=2, arg[2]=3, arg));
+        int[3] arg;
+        arg[0]=1, arg[1]=2, arg[2]=3;
+        A9 test3 = new A9(arg);
     }
 }
 
index 6e2b36846c92b07d69761c4ce76ca8a7c2863c21..e38ab1c858de4653f95577cc062d965eaf024e98 100644 (file)
@@ -1,4 +1,11 @@
 // RUNNABLE_PHOBOS_TEST
+/*
+TEST_OUTPUT:
+---
+Object
+---
+*/
+
 module test34;
 
 import std.stdio;
index 66b3c04e0bbfd757d050ffbc58b4b9f43c8a3814..e887faea2ebc45ab8eb1be48f6a61f881945dcca 100644 (file)
@@ -1,8 +1,18 @@
-// RUNNABLE_PHOBOS_TEST
-// REQUIRED_ARGS:
+/* RUNNABLE_PHOBOS_TEST
+REQUIRED_ARGS:
+TEST_OUTPUT:
+---
+success
+myInt int
+myBool bool
+i
+s
+C6test42__T4T219TiZ1C
+C6test427test219FZ8__mixin11C
+---
+*/
 
 module test42;
-
 import std.stdio;
 import core.stdc.stdio;
 import std.string;
@@ -52,7 +62,7 @@ void test3()
 {
     auto i = mixin("__LINE__");
     writefln("%d", i);
-    assert(i == 53);
+    assert(i == 63);
 }
 
 /***************************************************/
@@ -1092,17 +1102,17 @@ void test71()
 {
     size_t s = Foo71!(
 "helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-"When dealing with complex template tuples, it's very easy to overflow the
+"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+"helloabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+"When dealing with complex template tuples, it's very easy to overflow the
 maximum symbol length allowed by OPTLINK.  This is, simply put, a damn shame,
 because it prevents otherwise completely legal code from compiling and linking
 with DMDWin, whereas it works perfectly fine when using DMDNix or GDC.
@@ -1980,7 +1990,7 @@ struct Foobar;
 int test124()
 {   int result;
     dchar[] aa;
-    alias uint foo_t;
+    alias size_t foo_t;
 
     foreach (foo_t i, dchar d; aa)
     {
@@ -3507,7 +3517,7 @@ void test215()
     enum assocarrayliteral = Q!( [1:2] ).q.stringof;
     enum complex80 = Q!( 1+1.0i ).q.stringof;
     //enum dottype = Q!( C.Object.toString ).q.stringof;
-    enum halt = (assert(0), 0).stringof;    // ICE w/ -release
+    enum halt = 0.stringof;    // ICE w/ -release
     //enum remove = Q!( [1:2].remove(1) ).q.stringof;
     enum templat = Q!( Q ).q.stringof;
 }
index f8b800f18bd1d861578b96b15f01c2467e759e4e..4927bbc97ed31a0e5fc907312a1099d78f1d88a9 100644 (file)
@@ -696,7 +696,7 @@ void test38()
        printf("Count: %d\n", count);
         assert(count == 1028);
     }
-    catch
+    catch(Throwable)
     {
        printf("Exception: %d\n", k);
         assert(0);
index 75e8172ab491a850ffb117d47922ed40cff2c924..34cc705c08d4a5db72b377a6c2ec7ced800dda0d 100644 (file)
@@ -512,7 +512,7 @@ int foo17()
         }catch(Error e){
             assert(e);
             return 0;
-        }catch{
+        }catch(Throwable){
             assert(0);
         }
         assert(0);
index d9256039788cd2e5110413f00598934d3053f02d..17de1679d8bfe6b323e57f945a6f35d4d7f56d38 100644 (file)
@@ -151,7 +151,7 @@ void test3825()
      * it has no side effect. Then optimizer eliminate it completely, and
      * whole expression succeed to run in runtime. */
     int n = 0;
-    assert(thrown(aax[(n=aax[1], 0)] = 0)); // accessing aax[1] in key part, throws OK
+    assert(thrown(aax[((){ n=aax[1]; return 0;}())] = 0)); // accessing aax[1] in key part, throws OK
 
     // This works as expected.
     int[int][int] aaa;
index f20da4afdf204101002e0c1567584da4b8225c73..b0009671b19cefa1c3362a329fb542a40e2503de 100644 (file)
@@ -1,3 +1,23 @@
+/*
+TEST_OUTPUT:
+---
+\      S1      S2a     S2b     S3a     S3b     S4a     S4b
+-      true    true    true    true    true    true    true
+Xa     true    true    true    true    true    true    true
+Xb     true    true    true    true    true    true    true
+Xc     true    true    true    true    true    true    true
+Xd     true    true    true    true    true    true    true
+Xe     true    true    true    true    true    true    true
+Xf     true    true    true    true    true    true    true
+Xg     true    true    true    true    true    true    true
+---
+
+RUN_OUTPUT:
+---
+Success
+---
+*/
+
 import core.stdc.stdio;
 
 template TypeTuple(T...){ alias T TypeTuple; }
index 42f9c1beb7f5d19a4dceb62d6a8d313a7292eca5..7ec42452ec5ccb6a49ff1c060ef7e1daa4fad296 100644 (file)
@@ -1,3 +1,45 @@
+/*
+TEST_OUTPUT:
+---
+const(immutable(char)*)
+inout(immutable(char)*)
+inout(const(char)*)
+inout(const(char))
+shared(inout(char))
+shared(inout(char))
+immutable(char)
+immutable(char)
+inout(const(char))
+inout(const(char))
+shared(const(char))
+shared(const(char))
+inout(char*****)
+inout(char****)*
+const(char*****)
+const(char****)*
+immutable(char*****)
+immutable(char****)*
+shared(char*****)
+shared(char****)*
+const(shared(char****)*)
+shared(const(char*****))
+shared(char*****)
+immutable(char*****)
+inout(shared(char****)*)
+inout(shared(char**)***)
+shared(inout(char**))
+immutable(string)
+const(char[])
+char[]
+shared(foo85)
+const(char[26])
+const(char[26])
+immutable(char[26])
+immutable(char[26])
+string
+int[3]
+---
+*/
 
 import core.stdc.stdio;
 
index f06f93982a5e626e41ffa499ffb40191e470d932..a416b8a8c855e7f80c8d6a0f8e8d3b9fc3a32b9f 100644 (file)
@@ -1,7 +1,7 @@
 // RUNNABLE_PHOBOS_TEST
 // PERMUTE_ARGS:
 
-module dstress.run.module_01;
+module run.module_01;
 
 import core.memory;
 import core.exception;
@@ -171,9 +171,9 @@ int i;
 
 void test7()
 {
-        assert(dstress.run.module_01.i==0);
-        dstress.run.module_01.i++;
-        assert(dstress.run.module_01.i==1);
+        assert(run.module_01.i==0);
+        run.module_01.i++;
+        assert(run.module_01.i==1);
 }
 
 /* ================================ */
@@ -414,7 +414,7 @@ void test19()
 {
         try{
                 throw new Alias19();
-        }catch{
+        }catch(Throwable){
                 return;
         }
         assert(0);
@@ -484,7 +484,7 @@ void test23()
 {
         try{
                 foo23();
-        }catch{
+        }catch(Throwable){
         }
         assert(status23==-1);
 }
@@ -515,7 +515,7 @@ void test24()
         assert(status24==0);
         try{
                 check24();
-        }catch{
+        }catch(Throwable){
                 assert(status24==1);
                 status24-=5;
         }
@@ -700,7 +700,7 @@ void test32()
         assert(!(ti is null));
         writefln("%s %d %d", ti.toString(), ti.tsize, (MyUnion32*).sizeof);
         assert(ti.tsize==(MyUnion32*).sizeof);
-        assert(ti.toString()=="dstress.run.module_01.MyUnion32*");
+        assert(ti.toString()=="run.module_01.MyUnion32*");
 }
 
 /* ================================ */
@@ -831,7 +831,7 @@ void test40()
         try{
                 assert(!checked40);
                 GrandChild40 gc = new GrandChild40();
-        }catch{
+        }catch(Throwable){
                 assert(checked40);
                 return;
         }
index 9ecf97a4b28ead2e42995fa070f7cccc5df8d5b1..05327449209a0664275644ccb26efcbca4273c0c 100644 (file)
@@ -1,4 +1,10 @@
-// PERMUTE_ARGS:
+/*
+PERMUTE_ARGS:
+RUN_OUTPUT:
+---
+Success
+---
+*/
 
 extern(C) int printf(const char*, ...);
 
@@ -189,7 +195,6 @@ void test2407()
         b = ES.b,
         c = ES.c,
     }
-    static assert(EES.init == ES.init);
     static assert(EES.init == S(1));
     static assert(!__traits(compiles, EES.min));
     static assert(!__traits(compiles, EES.max));
index 5d81588de9d77795c1e7548d27528a593e89cf72..45da7d1659db2e2c98a4075ecad56e78ed15530b 100644 (file)
@@ -9,13 +9,13 @@
 // @uri@        news:ct428n$2qoe$1@digitaldaemon.com
 // @url@        nntp://news.digitalmars.com/D.gnu/983
 
-module dstress.run.unicode_06_哪里;
+module run.unicode_06_哪里;
 
 int 哪里(int ö){
         return ö+2;
 }
 
 int main(){
-        assert(dstress.run.unicode_06_哪里.哪里(2)==4);
+        assert(run.unicode_06_哪里.哪里(2)==4);
         return 0;
 }
index 11851327b905b1333d2789cb70ac956d855c7d6d..32879ce3e4ca08b4d5e22c528a39f3a494fec6f2 100644 (file)
@@ -1,5 +1,11 @@
-// runnable/traits.d    9091,8972,8971,7027
-// runnable/test4.d     test6()
+/*
+runnable/traits.d    9091,8972,8971,7027
+runnable/test4.d     test6()
+RUN_OUTPUT:
+---
+Success
+---
+*/
 
 extern(C) int printf(const char*, ...);
 
@@ -578,7 +584,6 @@ class Bar11245
 {
     void func()
     {
-        pragma(msg, "====");
         float[Vec11245.f.length] newVal;
     }
 }
index 6c96fb5873d6dfe3b586e5c054c1e3820cdc8efe..85282c2aae8fe3e82aab233cb2316431cd3eace6 100644 (file)
@@ -1,5 +1,14 @@
 // RUNNABLE_PHOBOS_TEST
 // REQUIRED_ARGS: -dip25
+/*
+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
+foo4 int function(return ref inout(int*) p) ref
+---
+*/
 
 import core.stdc.stdio;
 
index 3cdfe83afa0a86f42e8465bb7715e29fbbc55bc7..9d14ecdcc09c8b723a6b9b4463e8495e70cc8921 100644 (file)
@@ -1,5 +1,20 @@
 // RUNNABLE_PHOBOS_TEST
-// PERMUTE_ARGS:
+/*
+PERMUTE_ARGS:
+EXTRA_FILES: imports/a9546.d
+
+Windows linker may write something like:
+---
+Creating library {{RESULTS_DIR}}/runnable/traits_0.lib and object {{RESULTS_DIR}}/runnable/traits_0.exp
+---
+
+TRANSFORM_OUTPUT: remove_lines("Creating library")
+TEST_OUTPUT:
+---
+__lambda1
+---
+*/
+
 module traits;
 
 import std.stdio;
@@ -1561,6 +1576,15 @@ void test15094()
     assert(n == bar.foo.i);
 }
 
+/********************************************************/
+
+void testIsDisabled()
+{
+    static assert(__traits(isDisabled, D1.true_));
+    static assert(!__traits(isDisabled, D1.false_));
+    static assert(!__traits(isDisabled, D1));
+}
+
 /********************************************************/
 // https://issues.dlang.org/show_bug.cgi?id=10100
 
@@ -1578,15 +1602,6 @@ static assert(
 
 /********************************************************/
 
-void testIsDisabled()
-{
-    static assert(__traits(isDisabled, D1.true_));
-    static assert(!__traits(isDisabled, D1.false_));
-    static assert(!__traits(isDisabled, D1));
-}
-
-/********************************************************/
-
 int main()
 {
     test1();
index 38f84e5971d67fd59cf925c3f5ef6a85a36db268..a01a5ca6039a13b514b26c3381ed6d0aff9446ed 100644 (file)
@@ -1,3 +1,38 @@
+/*
+EXTRA_FILES: imports/a9741.d
+TEST_OUTPUT:
+---
+tuple(3, 4, 7, (SSS))
+tuple(3, 4, 7, (SSS))
+7
+SSS
+tuple("hello")
+tuple('c')
+tuple((FFF))
+tuple(10)
+tuple(20)
+tuple(30)
+tuple((Test6))
+tuple(Test7(3, "foo"))
+tuple((Test8!"foo"))
+tuple((Test9!"foo"))
+tuple(Test10(3))
+tuple(Test11(3))
+tuple(10)
+tuple(20)
+tuple()
+tuple(40)
+B9741
+tuple((A9741))
+tuple(1)
+tuple(2)
+---
+
+RUN_OUTPUT:
+---
+Success
+---
+*/
 
 import core.stdc.stdio;
 
index 8cba4ed4a803c398cd8c23e9cdd62ab8310cded3..bf19f57c68b5c3375e87a3158e75163fca0961bb 100644 (file)
@@ -1,5 +1,37 @@
 // RUNNABLE_PHOBOS_TEST
 // PERMUTE_ARGS: -unittest -O -release -inline -fPIC -g
+/* TEST_OUTPUT:
+---
+Boo!double
+Boo!int
+true
+int
+!! immutable(int)[]
+int(int i, long j = 7L)
+long
+C10390(C10390(C10390(<recursion>)))
+tuple(height)
+tuple(get, get)
+tuple(clear)
+tuple(draw, draw)
+runnable/xtest46.d(149): Deprecation: `opDot` is deprecated. Use `alias this`
+runnable/xtest46.d(151): Deprecation: `opDot` is deprecated. Use `alias this`
+runnable/xtest46.d(152): Deprecation: `opDot` is deprecated. Use `alias this`
+runnable/xtest46.d(154): Deprecation: `opDot` is deprecated. Use `alias this`
+runnable/xtest46.d(181): Deprecation: `opDot` is deprecated. Use `alias this`
+runnable/xtest46.d(183): Deprecation: `opDot` is deprecated. Use `alias this`
+runnable/xtest46.d(184): Deprecation: `opDot` is deprecated. Use `alias this`
+runnable/xtest46.d(186): Deprecation: `opDot` is deprecated. Use `alias this`
+const(int)
+string[]
+double[]
+double[]
+{}
+tuple("m")
+true
+TFunction1: extern (C) void function()
+---
+*/
 
 import std.stdio;
 import core.stdc.stdio;