diff --git a/clang/lib/Driver/ToolChains/ZOS.cpp b/clang/lib/Driver/ToolChains/ZOS.cpp --- a/clang/lib/Driver/ToolChains/ZOS.cpp +++ b/clang/lib/Driver/ToolChains/ZOS.cpp @@ -18,7 +18,13 @@ using namespace clang; ZOS::ZOS(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) - : ToolChain(D, Triple, Args) {} + : ToolChain(D, Triple, Args) { + for (Arg *A : Args.filtered(options::OPT_pg)) { + auto ArgString = A->getAsString(Args); + this->getDriver().Diag(diag::err_drv_unsupported_opt_for_target) + << ArgString << Triple.getTriple(); + } +} ZOS::~ZOS() {} diff --git a/clang/test/Driver/zos-profiling-error.c b/clang/test/Driver/zos-profiling-error.c new file mode 100644 --- /dev/null +++ b/clang/test/Driver/zos-profiling-error.c @@ -0,0 +1,4 @@ +// Check failed cases + +// RUN: not %clang -target s390x-none-zos -pg -S %s 2>&1 | FileCheck -check-prefix=FAIL-PG-NAME %s +// FAIL-PG-NAME: error: unsupported option '-pg' for target 's390x-none-zos'