From 91701a41304a4c1eda79ec89420babf0c513bc1d Mon Sep 17 00:00:00 2001 From: "H. S. Teoh" Date: Wed, 13 Dec 2017 17:26:43 -0800 Subject: [PATCH 1/2] Fix issue 18076: make -run work with - (stdin) Turns out, a trivial change is all that's needed. --- src/ddmd/mars.d | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ddmd/mars.d b/src/ddmd/mars.d index c9cf32b168e2..ed966561ab4a 100644 --- a/src/ddmd/mars.d +++ b/src/ddmd/mars.d @@ -2156,7 +2156,10 @@ private bool parseCommandLine(const ref Strings arguments, const size_t argc, re error("-run must be followed by a source file, not '%s'", arguments[i + 1]); break; } - files.push(arguments[i + 1]); + if (strcmp(arguments[i + 1], "-") == 0) + files.push("__stdin.d"); + else + files.push(arguments[i + 1]); params.runargs.setDim(length - 1); for (size_t j = 0; j < length - 1; ++j) { From a9201640957e36af6733c072fed85b0b89236da3 Mon Sep 17 00:00:00 2001 From: "H. S. Teoh" Date: Wed, 13 Dec 2017 17:33:00 -0800 Subject: [PATCH 2/2] Add test case. --- test/runnable/test18076.sh | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100755 test/runnable/test18076.sh diff --git a/test/runnable/test18076.sh b/test/runnable/test18076.sh new file mode 100755 index 000000000000..11ce77cf380c --- /dev/null +++ b/test/runnable/test18076.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +dir=${RESULTS_DIR}${SEP}runnable +output_file=${dir}/test18076.sh.out + +echo 'import std.stdio; void main() { writeln("Success"); }' | \ + $DMD -m${MODEL} -run - > ${output_file} || exit 1 +grep -q '^Success$' ${output_file} || exit 1