[llvm] [flang-rt] Fixes EXECUTE_COMMAND_LINE() status management and double buffering (PR #184285)
Eugene Epshteyn via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 4 19:02:05 PST 2026
================
@@ -371,8 +366,8 @@ TEST_F(ZeroArguments, ECLNotExecutedCommandErrorSync) {
(*command.get(), wait, exitStat.get(), cmdStat.get(), cmdMsg.get());
#ifdef _WIN32
CheckDescriptorEqInt<std::int64_t>(exitStat.get(), 1);
- CheckDescriptorEqInt<std::int64_t>(cmdStat.get(), 6);
- CheckDescriptorEqStr(cmdMsg.get(), "Invalid command lineXXX");
+ CheckDescriptorEqInt<std::int64_t>(cmdStat.get(), 0);
----------------
eugeneepshteyn wrote:
I checked on Windows, and the command string always starts with "cmd.exe /c". With touch command, "cmd.exe /c touch" results in "'touch' is not recognized as an internal or external command, operable program or batch file" error message and return code of 1. I believe my changes here are correct.
Now I wonder, why the original changes didn't fail. Perhaps check-flang-rt is not run on Windows?
I think I'll submit this PR and see if there's any Windows fallout, and deal with that later.
https://github.com/llvm/llvm-project/pull/184285
More information about the llvm-commits
mailing list