================
@@ -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

Reply via email to