-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[clang] Add option to opt out of the missing_dependent_template_keyword diagnostic #98613
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ostic.
@llvm/pr-subscribers-clang Author: Haojian Wu (hokein) ChangesAfter commit ce4aada, we observed many warnings in our internal codebase. It is Currently, there is no way to disable this warning. This patch provides a way to disable it using the Full diff: https://github.com/llvm/llvm-project/pull/98613.diff 2 Files Affected:
diff --git a/clang/include/clang/Basic/DiagnosticParseKinds.td b/clang/include/clang/Basic/DiagnosticParseKinds.td
index 0bd2e35bf2e31..e00cd47411cb3 100644
--- a/clang/include/clang/Basic/DiagnosticParseKinds.td
+++ b/clang/include/clang/Basic/DiagnosticParseKinds.td
@@ -896,7 +896,8 @@ def missing_template_arg_list_after_template_kw : Extension<
DefaultError;
def ext_missing_dependent_template_keyword : ExtWarn<
- "use 'template' keyword to treat '%0' as a dependent template name">;
+ "use 'template' keyword to treat '%0' as a dependent template name">,
+ InGroup<DiagGroup<"missing-dependent-template-keyword">>;
def ext_extern_template : Extension<
"extern templates are a C++11 extension">, InGroup<CXX11>;
diff --git a/clang/test/Misc/warning-flags.c b/clang/test/Misc/warning-flags.c
index 651a86fb6e226..7b993f6849363 100644
--- a/clang/test/Misc/warning-flags.c
+++ b/clang/test/Misc/warning-flags.c
@@ -18,10 +18,9 @@ This test serves two purposes:
The list of warnings below should NEVER grow. It should gradually shrink to 0.
-CHECK: Warnings without flags (65):
+CHECK: Warnings without flags (64):
CHECK-NEXT: ext_expected_semi_decl_list
-CHECK-NEXT: ext_missing_dependent_template_keyword
CHECK-NEXT: ext_missing_whitespace_after_macro_name
CHECK-NEXT: ext_new_paren_array_nonconst
CHECK-NEXT: ext_plain_complex
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reasonable, LGTM. Perhaps a release note should be added?
Thanks for the review. Done. |
This doesn't seem to handle all the cases? See abseil/abseil-cpp#1711 for absl build failures that are not silenced by using this option. |
It does filter out the With ce4aada, there is a behavior change in clang. Clang reject the following code which was accepted before by emitting a hard error
|
…rd diagnostic (llvm#98613) After commit ce4aada, we observed many warnings in our internal codebase. It is infeasible to fix all at once. Currently, there is no way to disable this warning. This patch provides a way to disable it using the `-Wno-missing-dependent-template-keyword` flag.
After commit ce4aada, we observed many warnings in our internal codebase. It is
infeasible to fix all at once.
Currently, there is no way to disable this warning. This patch provides a way to disable it using the
-Wno-missing-dependent-template-keyword
flag.