[Chapel Merge] This PR adds the ability to forward the `--` delim

Branch: refs/heads/main
Revision: 25afb9f
Author: arezaii
Log Message:

Merge pull request #18360 from arezaii/dupe-passthroughs

This PR adds the ability to forward the -- delimiter from the command line
to the arguments that are passed to main, if and only if main is declared
with arguments and the ArgumentParser package is used by the program.

These changes were prototyped during cray/chapel-private#2450 and are
implemented here similar to the prototype.

TESTING:

After running make cleanall from $CHPL_HOME:

  • [x] Can make
  • [x] Can make docs
  • [x] Can make mason
  • [x] Can make check
  • [x] Passing all tests from util/test/paratest.chapcs

Reviewed by @mppf

Signed-off-by: Ahmad Rezaii ahmad.rezaii@hpe.com

Modified Files:
A test/library/packages/ArgumentParser/ArgumentParserUsageTest.PtShadow.chpl

A test/library/packages/ArgumentParser/ArgumentParserUsageTest.PtShadow.good
A test/library/packages/ArgumentParser/ArgumentParserUsageTest.PtShadow.lastexecopts
A test/library/packages/ArgumentParser/ArgumentParserUsageTest.PtSingle.chpl
A test/library/packages/ArgumentParser/ArgumentParserUsageTest.PtSingle.good
A test/library/packages/ArgumentParser/ArgumentParserUsageTest.PtSingle.lastexecopts
A test/library/packages/ArgumentParser/ArgumentParserUsageTest.bad.pt.chpl
A test/library/packages/ArgumentParser/ArgumentParserUsageTest.bad.pt.good
A test/library/packages/ArgumentParser/ArgumentParserUsageTest.bad.pt.lastexecopts
A test/library/packages/ArgumentParser/ArgumentParserUsageTestPtArr.chpl
A test/library/packages/ArgumentParser/ArgumentParserUsageTestPtArr.good
A test/library/packages/ArgumentParser/ArgumentParserUsageTestPtArr.lastexecopts
A test/library/packages/ArgumentParser/MainArgsAltDelimiter.chpl
A test/library/packages/ArgumentParser/MainArgsAltDelimiter.good
A test/library/packages/ArgumentParser/MainArgsAltDelimiter.lastexecopts
A test/library/packages/ArgumentParser/MainNoArgs.chpl
A test/library/packages/ArgumentParser/MainNoArgs.execopts
A test/library/packages/ArgumentParser/MainNoArgs.good
A test/library/packages/ArgumentParser/MainWithoutArgumentParser.chpl
A test/library/packages/ArgumentParser/MainWithoutArgumentParser.execopts
A test/library/packages/ArgumentParser/MainWithoutArgumentParser.good
A test/library/packages/ArgumentParser/UsageTest.bad.arg.count.good
A test/library/packages/ArgumentParser/UsageTest.bad.pt-delim-pos.good
A test/library/packages/ArgumentParser/UsageTest.bad.pt-delim-val.good
A test/library/packages/ArgumentParser/UsageTest.bad.pt.shadow.good
R test/library/packages/ArgumentParser/UsageTest.bad.pt.good
R test/library/packages/ArgumentParser/UsageTest.pt.arr.good
R test/library/packages/ArgumentParser/UsageTest.pt.str.good
M compiler/codegen/codegen.cpp
M compiler/include/config.h
M compiler/main/config.cpp
M compiler/parser/parser.cpp
M modules/packages/ArgumentParser.chpl
M runtime/include/config.h
M runtime/src/arg.c
M runtime/src/chpl-launcher-common.c
M test/library/packages/ArgumentParser/ArgumentParserExample.chpl
M test/library/packages/ArgumentParser/ArgumentParserExample.good
M test/library/packages/ArgumentParser/ArgumentParserExample.lastexecopts
M test/library/packages/ArgumentParser/ArgumentParserTests.chpl
M test/library/packages/ArgumentParser/ArgumentParserTests.good
M test/library/packages/ArgumentParser/ArgumentParserUsageBad.execopts
M test/library/packages/ArgumentParser/ArgumentParserUsageTest.execopts
M test/library/packages/ArgumentParser/UsageTest.bad.shadow.good

Compare: https://github.com/chapel-lang/chapel/compare/52049c846bec...25afb9f8ee03