diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/include/clang/Basic/DiagnosticDriverKinds.td | 2 | ||||
-rw-r--r-- | clang/lib/Driver/Driver.cpp | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/clang/include/clang/Basic/DiagnosticDriverKinds.td b/clang/include/clang/Basic/DiagnosticDriverKinds.td index f3d9504891f..3ada80f6719 100644 --- a/clang/include/clang/Basic/DiagnosticDriverKinds.td +++ b/clang/include/clang/Basic/DiagnosticDriverKinds.td @@ -105,6 +105,8 @@ def warn_drv_preprocessed_input_file_unused : Warning< def warn_drv_unused_argument : Warning< "argument unused during compilation: '%0'">, InGroup<DiagGroup<"unused-command-line-argument">>; +def warn_drv_empty_joined_argument : Warning< + "joined argument expects addition arg: '%0'">; def warn_drv_not_using_clang_cpp : Warning< "not using the clang preprocessor due to user override">; def warn_drv_not_using_clang_cxx : Warning< diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index f9e5d82c02a..06953170d72 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -113,6 +113,12 @@ InputArgList *Driver::ParseArgStrings(ArrayRef<const char *> ArgList) { Diag(clang::diag::err_drv_unsupported_opt) << A->getAsString(*Args); continue; } + + // Warn about -mcpu= without an argument. + if (A->getOption().matches(options::OPT_mcpu_EQ) && + A->containsValue("")) { + Diag(clang::diag::warn_drv_empty_joined_argument) << A->getAsString(*Args); + } } return Args; |