[clang] [clang-tools-extra] [llvm] [clang] Introduce diagnostics suppression mappings (PR #112517)

kadir çetinkaya via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 4 06:08:50 PST 2024


================
@@ -122,7 +122,6 @@ class SpecialCaseList {
     // Returns zero if no match is found.
     unsigned match(StringRef Query) const;
 
-  private:
     StringMap<std::pair<GlobPattern, unsigned>> Globs;
----------------
kadircet wrote:

these are members of `SpecialCaseList::Matcher`. `WarningsSpecialCaseList` is just inheriting from `SpecialCaseList`. Hence it won't have visibility into protected members of a nested class.

e.g. something like:
```cpp
$ cat a.cc
struct Foo {
  class Bar {
   protected:
    int x;
  };
};

struct Derived : public Foo {
  void x() {
    Bar b;
    b.x = 3; // visibility error
  }
};
```

`Derived` can't access `Foo::Bar::x`.

https://github.com/llvm/llvm-project/pull/112517


More information about the cfe-commits mailing list