================
@@ -0,0 +1,33 @@
+// RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection -verify
%s
+// expected-no-diagnostics
+
+void clang_analyzer_warnIfReached();
+
+// Forward declaration
+namespace N { // 1st
+template <class T> struct Wrapper;
+} // namespace N
+
+// This becomes the lexical parent for implicit specializations
+namespace N { // 2nd
+template <class T> struct Wrapper;
+template <class T> void trigger() {
+ Wrapper<T>::get();
+}
+} // namespace N
+
+// [[clang::suppress]] is here, at the primary template
+namespace N { // 3rd
+template <class T> struct Wrapper {
+ static void get() {
+ // This [[clang::suppress]] should suppress the warning.
+ // Bug: Without the fix, it doesn't work because the implicit
----------------
steakhal wrote:
Accepted in eadb987a01143761665cc601ee18c88003fd779f
https://github.com/llvm/llvm-project/pull/178441
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits