// RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s namespace [[clang::suppress]] suppressed_namespace { int foo() { int *x = 0; return *x; } int foo_forward(); } int suppressed_namespace::foo_forward() { int *x = 0; return *x; // expected-warning{{Dereference of null pointer (loaded from variable 'x')}} } // Another instance of the same namespace. namespace suppressed_namespace { int bar() { int *x = 0; return *x; // expected-warning{{Dereference of null pointer (loaded from variable 'x')}} } } void lambda() { [[clang::suppress]] { auto lam = []() { int *x = 0; return *x; }; } } class [[clang::suppress]] SuppressedClass { int foo() { int *x = 0; return *x; } int bar(); }; int SuppressedClass::bar() { int *x = 0; return *x; // expected-warning{{Dereference of null pointer (loaded from variable 'x')}} } class SuppressedMethodClass { [[clang::suppress]] int foo() { int *x = 0; return *x; } [[clang::suppress]] int bar1(); int bar2(); }; int SuppressedMethodClass::bar1() { int *x = 0; return *x; // expected-warning{{Dereference of null pointer (loaded from variable 'x')}} } [[clang::suppress]] int SuppressedMethodClass::bar2() { int *x = 0; return *x; // no-warning }