From 2b4c9bc4d489a4be1c5aa1924fba542dc80ab0c9 Mon Sep 17 00:00:00 2001 From: Andrzej Warzynski Date: Wed, 2 Jun 2021 21:53:02 +0100 Subject: [flang][driver] Add checks for missing option arguments With this patch, the following invocation of the frontend driver will return an error: ``` flang-new -fc1 input-file.f90 -o ``` Similar logic applies to other options that require arguments. Similar checks are already available in the compiler driver, flang-new (that's implemented in clangDriver). Differential Revision: https://reviews.llvm.org/D103554 --- flang/lib/Frontend/CompilerInvocation.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'flang/lib/Frontend/CompilerInvocation.cpp') diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp index 1d18dda..6d9a3a7 100644 --- a/flang/lib/Frontend/CompilerInvocation.cpp +++ b/flang/lib/Frontend/CompilerInvocation.cpp @@ -501,6 +501,13 @@ bool CompilerInvocation::CreateFromArgs(CompilerInvocation &res, llvm::opt::InputArgList args = opts.ParseArgs( commandLineArgs, missingArgIndex, missingArgCount, includedFlagsBitmask); + // Check for missing argument error. + if (missingArgCount) { + diags.Report(clang::diag::err_drv_missing_argument) + << args.getArgString(missingArgIndex) << missingArgCount; + success = false; + } + // Issue errors on unknown arguments for (const auto *a : args.filtered(clang::driver::options::OPT_UNKNOWN)) { auto argString = a->getAsString(args); -- cgit v1.1