diff --git a/compiler/src/dmd/globals.d b/compiler/src/dmd/globals.d index 901561fcf8e1..77bb4986e724 100644 --- a/compiler/src/dmd/globals.d +++ b/compiler/src/dmd/globals.d @@ -400,6 +400,7 @@ extern (C++) struct Global params.v.color = detectTerminal(); } + params.v.errorPrintMode = ErrorPrintMode.printErrorContext; // Enable error context globally by default compileEnv.versionNumber = parseVersionNumber(versionString()); /* Initialize date, time, and timestamp diff --git a/compiler/src/dmd/root/string.d b/compiler/src/dmd/root/string.d index 383c59de0136..847af0eab61b 100644 --- a/compiler/src/dmd/root/string.d +++ b/compiler/src/dmd/root/string.d @@ -365,13 +365,23 @@ auto splitLines(const char[] text) public this(const char[] text) { this.text = text; + this.index = 0; + this.eolIndex = 0; + this.nextIndex = 0; } - public bool empty() { return index == text.length; } + public bool empty() { advance(); return index >= text.length; } public void popFront() { advance(); index = nextIndex; } - public const(char)[] front() { advance(); return text[index .. eolIndex]; } + public const(char)[] front() + { + advance(); + if (index > eolIndex || index >= text.length) { + return ""; + } + return text[index .. eolIndex]; + } private void advance() { @@ -418,7 +428,7 @@ auto splitLines(const char[] text) if (i + 2 < text.length && text[i + 1] == 0x80 && (text[i + 2] == 0xA8 || text[i + 2] == 0xA9) - ) + ) { eolIndex = i; nextIndex = i + 3; @@ -430,6 +440,10 @@ auto splitLines(const char[] text) break; } } + + // No newline found; set indices to the end of the text + eolIndex = text.length; + nextIndex = text.length; } } diff --git a/compiler/test/compilable/b16976.d b/compiler/test/compilable/b16976.d index f5f45ef9076b..fd9c53922653 100644 --- a/compiler/test/compilable/b16976.d +++ b/compiler/test/compilable/b16976.d @@ -1,4 +1,4 @@ -/* REQUIRED_ARGS: -m64 +/* REQUIRED_ARGS: -verrors=simple -m64 TEST_OUTPUT: --- compilable/b16976.d(33): Deprecation: foreach: loop index implicitly converted from `size_t` to `int` diff --git a/compiler/test/compilable/chkformat.d b/compiler/test/compilable/chkformat.d index ccbe974f4001..5c352c189168 100644 --- a/compiler/test/compilable/chkformat.d +++ b/compiler/test/compilable/chkformat.d @@ -1,9 +1,10 @@ // https://issues.dlang.org/show_bug.cgi?id=20643 // https://issues.dlang.org/show_bug.cgi?id=20644 +// REQUIRED_ARGS: -verrors=simple /* TEST_OUTPUT: ---- -compilable/chkformat.d(14): Deprecation: more format specifiers than 0 arguments +compilable/chkformat.d(15): Deprecation: more format specifiers than 0 arguments ---- */ import core.stdc.stdio; diff --git a/compiler/test/compilable/compile1.d b/compiler/test/compilable/compile1.d index 15973cf11f92..f0b6dffe3622 100644 --- a/compiler/test/compilable/compile1.d +++ b/compiler/test/compilable/compile1.d @@ -1,9 +1,10 @@ // COMPILABLE_MATH_TEST // PERMUTE_ARGS: +// REQUIRED_ARGS: -verrors=simple // EXTRA_FILES: imports/a12506.d /* TEST_OUTPUT: --- -compilable/compile1.d(230): Deprecation: use of complex type `cdouble` is deprecated, use `std.complex.Complex!(double)` instead +compilable/compile1.d(231): Deprecation: use of complex type `cdouble` is deprecated, use `std.complex.Complex!(double)` instead --- */ diff --git a/compiler/test/compilable/ddoc10236.d b/compiler/test/compilable/ddoc10236.d index c27289472eb6..41d63cd1e1c3 100644 --- a/compiler/test/compilable/ddoc10236.d +++ b/compiler/test/compilable/ddoc10236.d @@ -1,5 +1,5 @@ // PERMUTE_ARGS: -// REQUIRED_ARGS: -D -Dd${RESULTS_DIR}/compilable -wi -o- +// REQUIRED_ARGS: -verrors=simple -D -Dd${RESULTS_DIR}/compilable -wi -o- /* TEST_OUTPUT: diff --git a/compiler/test/compilable/ddoc10236b.d b/compiler/test/compilable/ddoc10236b.d index 85783e8d1472..ce3264ef2596 100644 --- a/compiler/test/compilable/ddoc10236b.d +++ b/compiler/test/compilable/ddoc10236b.d @@ -1,5 +1,5 @@ // PERMUTE_ARGS: -// REQUIRED_ARGS: -D -Dd${RESULTS_DIR}/compilable -wi -o- +// REQUIRED_ARGS: -verrors=simple -D -Dd${RESULTS_DIR}/compilable -wi -o- /* TEST_OUTPUT: diff --git a/compiler/test/compilable/ddoc13502.d b/compiler/test/compilable/ddoc13502.d index 93f383fea9f1..3bfb6173453c 100644 --- a/compiler/test/compilable/ddoc13502.d +++ b/compiler/test/compilable/ddoc13502.d @@ -1,5 +1,5 @@ // PERMUTE_ARGS: -// REQUIRED_ARGS: -D -Dd${RESULTS_DIR}/compilable -wi -o- +// REQUIRED_ARGS: -verrors=simple -D -Dd${RESULTS_DIR}/compilable -wi -o- /* TEST_OUTPUT: --- diff --git a/compiler/test/compilable/ddoc4899.d b/compiler/test/compilable/ddoc4899.d index b5cfa86367c1..44999ddeeb78 100644 --- a/compiler/test/compilable/ddoc4899.d +++ b/compiler/test/compilable/ddoc4899.d @@ -1,5 +1,5 @@ // PERMUTE_ARGS: -// REQUIRED_ARGS: -D -Dd${RESULTS_DIR}/compilable -wi -o- +// REQUIRED_ARGS: -verrors=simple -D -Dd${RESULTS_DIR}/compilable -wi -o- /* TEST_OUTPUT: diff --git a/compiler/test/compilable/depmsg.d b/compiler/test/compilable/depmsg.d index 9b005d8ff737..2c29e05a5883 100644 --- a/compiler/test/compilable/depmsg.d +++ b/compiler/test/compilable/depmsg.d @@ -1,5 +1,5 @@ /* -REQUIRED_ARGS: -dw +REQUIRED_ARGS: -verrors=simple -dw TEST_OUTPUT: --- compilable/depmsg.d(39): Deprecation: struct `depmsg.main.Inner.A` is deprecated - With message! diff --git a/compiler/test/compilable/deprecated_override.d b/compiler/test/compilable/deprecated_override.d index c9da34dbfa73..193cea9d0da1 100644 --- a/compiler/test/compilable/deprecated_override.d +++ b/compiler/test/compilable/deprecated_override.d @@ -1,5 +1,5 @@ // https://issues.dlang.org/show_bug.cgi?id=22668 - +// REQUIRED_ARGS: -verrors=simple // Overrides with same deprecated'ness are allowed class SameParent diff --git a/compiler/test/compilable/deprecationlimit.d b/compiler/test/compilable/deprecationlimit.d index 8ee7ab650fbf..2b7d45c393fc 100644 --- a/compiler/test/compilable/deprecationlimit.d +++ b/compiler/test/compilable/deprecationlimit.d @@ -1,5 +1,5 @@ /* -REQUIRED_ARGS: -verrors=3 +REQUIRED_ARGS: -verrors=simple -verrors=3 TEST_OUTPUT: --- compilable/deprecationlimit.d(18): Deprecation: function `deprecationlimit.f` is deprecated diff --git a/compiler/test/compilable/diag20916.d b/compiler/test/compilable/diag20916.d index 1993e0e0200c..aa30c94fcf36 100644 --- a/compiler/test/compilable/diag20916.d +++ b/compiler/test/compilable/diag20916.d @@ -1,3 +1,4 @@ +// REQUIRED_ARGS: -verrors=simple /* TEST_OUTPUT: --- diff --git a/compiler/test/compilable/dtoh_invalid_identifiers.d b/compiler/test/compilable/dtoh_invalid_identifiers.d index 28c79088a266..1179f66203f1 100644 --- a/compiler/test/compilable/dtoh_invalid_identifiers.d +++ b/compiler/test/compilable/dtoh_invalid_identifiers.d @@ -1,5 +1,5 @@ /+ -REQUIRED_ARGS: -HC -c -o- -wi -extern-std=c++20 +REQUIRED_ARGS: -verrors=simple -HC -c -o- -wi -extern-std=c++20 PERMUTE_ARGS: TEST_OUTPUT: --- diff --git a/compiler/test/compilable/interpret3.d b/compiler/test/compilable/interpret3.d index 69f65b1cbdf8..aa88458ad77e 100644 --- a/compiler/test/compilable/interpret3.d +++ b/compiler/test/compilable/interpret3.d @@ -1,8 +1,9 @@ // PERMUTE_ARGS: -inline +// REQUIRED_ARGS: -verrors=simple /* TEST_OUTPUT: --- -compilable/interpret3.d(6350): Deprecation: identity comparison of static arrays implicitly coerces them to slices, which are compared by reference +compilable/interpret3.d(6351): Deprecation: identity comparison of static arrays implicitly coerces them to slices, which are compared by reference --- */ diff --git a/compiler/test/compilable/pragmainline2.d b/compiler/test/compilable/pragmainline2.d index 2f58493ee114..8f2231a33346 100644 --- a/compiler/test/compilable/pragmainline2.d +++ b/compiler/test/compilable/pragmainline2.d @@ -1,5 +1,5 @@ /* -REQUIRED_ARGS: -inline -wi +REQUIRED_ARGS: -verrors=simple -inline -wi TEST_OUTPUT: --- compilable/pragmainline2.d(14): Warning: cannot inline function `pragmainline2.foo` diff --git a/compiler/test/compilable/sw_transition_complex.d b/compiler/test/compilable/sw_transition_complex.d index 3b2735603327..bcce94b6fe9c 100644 --- a/compiler/test/compilable/sw_transition_complex.d +++ b/compiler/test/compilable/sw_transition_complex.d @@ -1,5 +1,5 @@ // PERMUTE_ARGS: -// REQUIRED_ARGS: -unittest -verrors=0 +// REQUIRED_ARGS: -verrors=simple -unittest -verrors=0 /* TEST_OUTPUT: diff --git a/compiler/test/compilable/test12567c.d b/compiler/test/compilable/test12567c.d index 9a686df555ec..1e3f01b9ab7e 100644 --- a/compiler/test/compilable/test12567c.d +++ b/compiler/test/compilable/test12567c.d @@ -1,4 +1,4 @@ -// REQUIRED_ARGS: +// REQUIRED_ARGS: -verrors=simple // EXTRA_FILES: imports/a12567.d // PERMUTE_ARGS: /* diff --git a/compiler/test/compilable/test19227.d b/compiler/test/compilable/test19227.d index 55fa59164f43..2a1d325d7580 100644 --- a/compiler/test/compilable/test19227.d +++ b/compiler/test/compilable/test19227.d @@ -1,7 +1,8 @@ // https://issues.dlang.org/show_bug.cgi?id=19227 +// REQUIRED_ARGS: -verrors=simple /* TEST_OUTPUT: --- -compilable/test19227.d(16): Deprecation: use of complex type `cfloat` is deprecated, use `std.complex.Complex!(float)` instead +compilable/test19227.d(17): Deprecation: use of complex type `cfloat` is deprecated, use `std.complex.Complex!(float)` instead Deprecation: use of complex type `const(cfloat)` is deprecated, use `std.complex.Complex!(float)` instead --- */ diff --git a/compiler/test/compilable/test19609.d b/compiler/test/compilable/test19609.d index df8f891ec8f3..b23eece668e6 100644 --- a/compiler/test/compilable/test19609.d +++ b/compiler/test/compilable/test19609.d @@ -1,11 +1,12 @@ // https://issues.dlang.org/show_bug.cgi?id=19609 +// REQUIRED_ARGS: -verrors=simple // EXTRA_FILES: imports/test19609a.d imports/test19609b.d imports/test19609c.d /* TEST_OUTPUT: --- -compilable/test19609.d(11): Deprecation: module `imports.test19609a` is deprecated -compilable/test19609.d(12): Deprecation: module `imports.test19609b` is deprecated - hello -compilable/test19609.d(13): Deprecation: module `imports.test19609c` is deprecated +compilable/test19609.d(12): Deprecation: module `imports.test19609a` is deprecated +compilable/test19609.d(13): Deprecation: module `imports.test19609b` is deprecated - hello +compilable/test19609.d(14): Deprecation: module `imports.test19609c` is deprecated --- */ import imports.test19609a; diff --git a/compiler/test/compilable/test20063.d b/compiler/test/compilable/test20063.d index a117e4b25ddc..9fdaed731127 100644 --- a/compiler/test/compilable/test20063.d +++ b/compiler/test/compilable/test20063.d @@ -1,7 +1,8 @@ +// REQUIRED_ARGS: -verrors=simple /* TEST_OUTPUT: --- -compilable/test20063.d(10): Deprecation: function `test20063.main.f!(delegate () pure nothrow @safe => new C).f` function requires a dual-context, which is deprecated -compilable/test20063.d(19): instantiated from here: `f!(delegate () pure nothrow @safe => new C)` +compilable/test20063.d(11): Deprecation: function `test20063.main.f!(delegate () pure nothrow @safe => new C).f` function requires a dual-context, which is deprecated +compilable/test20063.d(20): instantiated from here: `f!(delegate () pure nothrow @safe => new C)` --- */ diff --git a/compiler/test/compilable/test21514.d b/compiler/test/compilable/test21514.d index 4eb80509f326..4ea5377dc450 100644 --- a/compiler/test/compilable/test21514.d +++ b/compiler/test/compilable/test21514.d @@ -1,15 +1,16 @@ // https://issues.dlang.org/show_bug.cgi?id=21514 +// REQUIRED_ARGS: -verrors=simple // DISABLED: win32 win64 /* TEST_OUTPUT: --- -compilable/test21514.d(16): Deprecation: use of complex type `cdouble` is deprecated, use `std.complex.Complex!(double)` instead -compilable/test21514.d(16): Deprecation: use of complex type `cdouble` is deprecated, use `std.complex.Complex!(double)` instead -compilable/test21514.d(17): Deprecation: use of complex type `creal` is deprecated, use `std.complex.Complex!(real)` instead -compilable/test21514.d(17): Deprecation: use of complex type `creal` is deprecated, use `std.complex.Complex!(real)` instead -compilable/test21514.d(19): Deprecation: use of complex type `cdouble` is deprecated, use `std.complex.Complex!(double)` instead -compilable/test21514.d(19): Deprecation: use of complex type `cdouble` is deprecated, use `std.complex.Complex!(double)` instead -compilable/test21514.d(20): Deprecation: use of complex type `creal` is deprecated, use `std.complex.Complex!(real)` instead -compilable/test21514.d(20): Deprecation: use of complex type `creal` is deprecated, use `std.complex.Complex!(real)` instead +compilable/test21514.d(17): Deprecation: use of complex type `cdouble` is deprecated, use `std.complex.Complex!(double)` instead +compilable/test21514.d(17): Deprecation: use of complex type `cdouble` is deprecated, use `std.complex.Complex!(double)` instead +compilable/test21514.d(18): Deprecation: use of complex type `creal` is deprecated, use `std.complex.Complex!(real)` instead +compilable/test21514.d(18): Deprecation: use of complex type `creal` is deprecated, use `std.complex.Complex!(real)` instead +compilable/test21514.d(20): Deprecation: use of complex type `cdouble` is deprecated, use `std.complex.Complex!(double)` instead +compilable/test21514.d(20): Deprecation: use of complex type `cdouble` is deprecated, use `std.complex.Complex!(double)` instead +compilable/test21514.d(21): Deprecation: use of complex type `creal` is deprecated, use `std.complex.Complex!(real)` instead +compilable/test21514.d(21): Deprecation: use of complex type `creal` is deprecated, use `std.complex.Complex!(real)` instead --- */ diff --git a/compiler/test/compilable/test23097.d b/compiler/test/compilable/test23097.d index 092bd774f228..333b2f2b8b08 100644 --- a/compiler/test/compilable/test23097.d +++ b/compiler/test/compilable/test23097.d @@ -1,5 +1,5 @@ /* https://issues.dlang.org/show_bug.cgi?id=23097 -REQUIRED_ARGS: -verrors=spec +REQUIRED_ARGS: -verrors=simple -verrors=spec TEST_OUTPUT: --- (spec:2) compilable/test23097.d(14): Error: `inout` constructor `test23097.S23097.this` creates const object, not mutable diff --git a/compiler/test/compilable/test324.d b/compiler/test/compilable/test324.d index b5e30f67518d..83b42f370212 100644 --- a/compiler/test/compilable/test324.d +++ b/compiler/test/compilable/test324.d @@ -1,11 +1,12 @@ +// REQUIRED_ARGS: -verrors=simple /* TEST_OUTPUT: --- -compilable/test324.d(17): Deprecation: function `test324.main.doStuff!((i) +compilable/test324.d(18): Deprecation: function `test324.main.doStuff!((i) { return i; } ).doStuff` function requires a dual-context, which is deprecated -compilable/test324.d(23): instantiated from here: `doStuff!((i) +compilable/test324.d(24): instantiated from here: `doStuff!((i) { return i; } diff --git a/compiler/test/compilable/test9701.d b/compiler/test/compilable/test9701.d index 68055c4dd46b..81b56bdb6586 100644 --- a/compiler/test/compilable/test9701.d +++ b/compiler/test/compilable/test9701.d @@ -1,9 +1,10 @@ // https://issues.dlang.org/show_bug.cgi?id=9701 +// REQUIRED_ARGS: -verrors=simple /* TEST_OUTPUT: --- -compilable/test9701.d(68): Deprecation: enum member `test9701.Enum.value7` is deprecated -compilable/test9701.d(68): Deprecation: enum member `test9701.Enum.value8` is deprecated - message +compilable/test9701.d(69): Deprecation: enum member `test9701.Enum.value7` is deprecated +compilable/test9701.d(69): Deprecation: enum member `test9701.Enum.value8` is deprecated - message --- */ diff --git a/compiler/test/compilable/testcolor.sh b/compiler/test/compilable/testcolor.sh index 8d0d0700462b..2a7841c43811 100755 --- a/compiler/test/compilable/testcolor.sh +++ b/compiler/test/compilable/testcolor.sh @@ -15,17 +15,17 @@ compare() fi } -normalize() { tr -d "\n\r" ; } +normalize() { tr -d "\n\r" | sed -E 's/void foo\(\) \{\} void main\(\) \{ goo\(\); \}//; s/\s+\^$//'; } check() { local actual expected - actual=$(echo "$2" | ("$DMD" -c -o- "$1" - 2>&1 || true) | normalize) + actual=$(echo "$2" | ("$DMD" -c -o- -verrors=simple "$1" - 2>&1 || true) | normalize) compare "$actual" "$3" } -expectedWithoutColor=__stdin.d\(2\):\ Error:\ no\ identifier\ for\ declarator\ \`test\` -expectedWithColor=$'\033'\[1m__stdin.d\(2\):\ $'\033'\[1\;31mError:\ $'\033'\[mno\ identifier\ for\ declarator\ \`$'\033'\[0\;36m$'\033'\[m$'\033'\[1mtest$'\033'\[0\;36m$'\033'\[m\` +expectedWithoutColor='__stdin.d(2): Error: no identifier for declarator `test`' +expectedWithColor=$'\033[1m__stdin.d(2): \033[1;31mError: \033[mno identifier for declarator `\033[0;36m\033[m\033[1mtest\033[0;36m\033[m`' check -c "test" "$expectedWithoutColor" check -color=auto "test" "$expectedWithoutColor" @@ -40,7 +40,7 @@ check -color=off "$gooCode" "$gooExpectedWithoutColor" if [[ "$(script --version)" == script\ from\ util-linux\ * ]] then - actual="$(SHELL="$(command -v bash)" TERM="faketerm" script -q -c "echo test | ( $DMD -c -o- -)" /dev/null | normalize)" || true + actual="$(SHELL="$(command -v bash)" TERM="faketerm" script -q -c "echo test | ( $DMD -c -o- -verrors=simple -)" /dev/null | normalize)" || true # Weird results for WSL, probably some environmental issue if uname -a | grep -i linux | grep -i microsoft &> /dev/null diff --git a/compiler/test/compilable/udamodule1.d b/compiler/test/compilable/udamodule1.d index 434cf5125b74..76e9fb7488eb 100644 --- a/compiler/test/compilable/udamodule1.d +++ b/compiler/test/compilable/udamodule1.d @@ -1,4 +1,4 @@ -// REQUIRED_ARGS: +// REQUIRED_ARGS: -verrors=simple // PERMUTE_ARGS: // EXTRA_FILES: imports/udamodule1.d /* diff --git a/compiler/test/compilable/verrors_spec.d b/compiler/test/compilable/verrors_spec.d index b858008922bd..9768ba10da3f 100644 --- a/compiler/test/compilable/verrors_spec.d +++ b/compiler/test/compilable/verrors_spec.d @@ -1,6 +1,6 @@ /* PERMUTE_ARGS: -REQUIRED_ARGS: -verrors=spec +REQUIRED_ARGS: -verrors=simple -verrors=spec TEST_OUTPUT: --- (spec:1) compilable/verrors_spec.d(13): Error: cannot implicitly convert expression `& i` of type `int*` to `int` diff --git a/compiler/test/runnable/future.d b/compiler/test/runnable/future.d index e0ef46639540..9d09f6b2a893 100644 --- a/compiler/test/runnable/future.d +++ b/compiler/test/runnable/future.d @@ -1,8 +1,9 @@ /* PERMUTE_ARGS: +REQUIRED_ARGS: -verrors=simple TEST_OUTPUT: --- -runnable/future.d(16): Deprecation: method `future.B.msg` implicitly overrides `@__future` base class method; rename the former -runnable/future.d(11): base method `future.A.msg` defined here +runnable/future.d(17): Deprecation: method `future.B.msg` implicitly overrides `@__future` base class method; rename the former +runnable/future.d(12): base method `future.A.msg` defined here --- */ diff --git a/compiler/test/runnable/implicit.d b/compiler/test/runnable/implicit.d index 75b992c5c1c2..802e382c5253 100644 --- a/compiler/test/runnable/implicit.d +++ b/compiler/test/runnable/implicit.d @@ -1,8 +1,9 @@ /* +REQUIRED_ARGS: -verrors=simple TEST_OUTPUT: --- -runnable/implicit.d(162): Deprecation: slice of static array temporary returned by `pureMaker3c()` assigned to longer lived variable `z1` -runnable/implicit.d(163): Deprecation: slice of static array temporary returned by `pureMaker3c()` assigned to longer lived variable `z2` +runnable/implicit.d(163): Deprecation: slice of static array temporary returned by `pureMaker3c()` assigned to longer lived variable `z1` +runnable/implicit.d(164): Deprecation: slice of static array temporary returned by `pureMaker3c()` assigned to longer lived variable `z2` --- RUN_OUTPUT: diff --git a/compiler/test/runnable/lexer.d b/compiler/test/runnable/lexer.d index c6ca550011ba..18ad055addcd 100644 --- a/compiler/test/runnable/lexer.d +++ b/compiler/test/runnable/lexer.d @@ -1,4 +1,4 @@ -// REQUIRED_ARGS: +// REQUIRED_ARGS: -verrors=simple /* TEST_OUTPUT: --- diff --git a/compiler/test/runnable/template10.d b/compiler/test/runnable/template10.d index e0bec9be7817..74dcf506f5c0 100644 --- a/compiler/test/runnable/template10.d +++ b/compiler/test/runnable/template10.d @@ -1,5 +1,5 @@ // PERMUTE_ARGS: -inline -// REQUIRED_ARGS: -verrors=0 +// REQUIRED_ARGS: -verrors=simple -verrors=0 /* TEST_OUTPUT: --- runnable/template10.d(89): Deprecation: function `template10.test1b.f0.f!(a).f` function requires a dual-context, which is deprecated diff --git a/compiler/test/runnable/test8.d b/compiler/test/runnable/test8.d index f10076223d59..0c08571fc23e 100644 --- a/compiler/test/runnable/test8.d +++ b/compiler/test/runnable/test8.d @@ -1,7 +1,8 @@ /* +REQUIRED_ARGS: -verrors=simple TEST_OUTPUT: --- -runnable/test8.d(261): Deprecation: identity comparison of static arrays implicitly coerces them to slices, which are compared by reference +runnable/test8.d(262): Deprecation: identity comparison of static arrays implicitly coerces them to slices, which are compared by reference --- */ diff --git a/compiler/test/tools/d_do_test.d b/compiler/test/tools/d_do_test.d index 81a0345262da..63cc4e6cbf8c 100755 --- a/compiler/test/tools/d_do_test.d +++ b/compiler/test/tools/d_do_test.d @@ -687,7 +687,7 @@ bool gatherTestParameters(ref TestArgs testArgs, string input_dir, string input_ // tests can override -verrors by using REQUIRED_ARGS if (testArgs.mode == TestMode.FAIL_COMPILE) - testArgs.requiredArgs = "-verrors=0 " ~ testArgs.requiredArgs; + testArgs.requiredArgs = "-verrors=simple -verrors=0 " ~ testArgs.requiredArgs; { string argSetsStr;