aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorChris B <chris.bieneman@me.com>2024-09-20 16:41:15 -0500
committerGitHub <noreply@github.com>2024-09-20 16:41:15 -0500
commit4d621025d4fc2f2438affdca7a016dd93b56f4e0 (patch)
treecb7597c8b1783afa8b0c497db45425b6f8f75456 /clang/lib/Frontend/CompilerInvocation.cpp
parent07045b567962c86a9e16abc4f3a848ef35a06f5c (diff)
downloadllvm-4d621025d4fc2f2438affdca7a016dd93b56f4e0.zip
llvm-4d621025d4fc2f2438affdca7a016dd93b56f4e0.tar.gz
llvm-4d621025d4fc2f2438affdca7a016dd93b56f4e0.tar.bz2
[HLSL] Warn about incomplete language support (#108894)
This adds a warning about incomplete language mode support before HLSL 202x. This is the last change in the sequence to fix and make HLSL 202x the default mode for Clang (#108044). Fixes #108044
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index de6776b..efd8525 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -4484,6 +4484,15 @@ bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args,
}
} else
Diags.Report(diag::err_drv_hlsl_unsupported_target) << T.str();
+
+ if (Opts.LangStd < LangStandard::lang_hlsl202x) {
+ const LangStandard &Requested =
+ LangStandard::getLangStandardForKind(Opts.LangStd);
+ const LangStandard &Recommended =
+ LangStandard::getLangStandardForKind(LangStandard::lang_hlsl202x);
+ Diags.Report(diag::warn_hlsl_langstd_minimal)
+ << Requested.getName() << Recommended.getName();
+ }
}
return Diags.getNumErrors() == NumErrorsBefore;