[clang-offload-bundler] add -input/-output options
authorYaxun (Sam) Liu <yaxun.liu@amd.com>
Tue, 5 Apr 2022 14:44:13 +0000 (10:44 -0400)
committerYaxun (Sam) Liu <yaxun.liu@amd.com>
Tue, 5 Apr 2022 15:13:01 +0000 (11:13 -0400)
commit09a5eae0d1952f53dffd56b9a598215aa1a1487e
treefbea9ebea475648e6d828d0313b28bf3734db02a
parent012e90bb2483888d113368b69933aec0ab6a5041
[clang-offload-bundler] add -input/-output options

Currently, clang-offload-bundler has -inputs and -outputs options that accept
values with comma as the delimiter. This causes issues with file paths
containing commas, which are valid file paths on Linux.

This add two new options -input and -output, which accept one single file,
and allow multiple instances. This allows arbitrary file paths. The old
-inputs and -outputs options will be kept for backward compatibility, but
are not allowed to be used with -input and -output options for simplicity.
In the future, -inputs and -outputs options will be phasing out.

RFC: https://discourse.llvm.org/t/rfc-adding-input-and-output-options-to-clang-offload-bundler/60049

Patch by: Siu Chi Chan

Reviewed by: Yaxun Liu

Differential Revision: https://reviews.llvm.org/D120662
25 files changed:
clang/lib/Driver/ToolChains/Clang.cpp
clang/lib/Driver/ToolChains/CommonArgs.cpp
clang/lib/Driver/ToolChains/HIPUtility.cpp
clang/test/Driver/clang-offload-bundler-asserts-on.c
clang/test/Driver/clang-offload-bundler.c
clang/test/Driver/fat-archive-unbundle-ext.c
clang/test/Driver/fat_archive_amdgpu.cpp
clang/test/Driver/fat_archive_nvptx.cpp
clang/test/Driver/hip-device-compile.hip
clang/test/Driver/hip-link-bundle-archive.hip
clang/test/Driver/hip-link-save-temps.hip
clang/test/Driver/hip-output-file-name.hip
clang/test/Driver/hip-rdc-device-only.hip
clang/test/Driver/hip-save-temps.hip
clang/test/Driver/hip-toolchain-device-only.hip
clang/test/Driver/hip-toolchain-no-rdc.hip
clang/test/Driver/hip-toolchain-rdc-separate.hip
clang/test/Driver/hip-toolchain-rdc-static-lib.hip
clang/test/Driver/hip-toolchain-rdc.hip
clang/test/Driver/hip-unbundle-preproc.hip
clang/test/Driver/hipspv-toolchain-rdc.hip
clang/test/Driver/hipspv-toolchain.hip
clang/test/Driver/openmp-offload-gpu.c
clang/test/Driver/openmp-offload.c
clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp