]> git.ipfire.org Git - thirdparty/gcc.git/commit
c++: less invalidate_class_lookup_cache
authorJason Merrill <jason@redhat.com>
Tue, 21 Mar 2023 15:12:42 +0000 (11:12 -0400)
committerJason Merrill <jason@redhat.com>
Tue, 2 May 2023 20:25:49 +0000 (16:25 -0400)
commitf9861511a1fa0f9e386f3f7bcee84b6e3ca3c579
treec17ac78097145dfd9d2371f7954779b2f2c4e8f1
parenta43f3616c0069541b1f465eea67285eeeff36785
c++: less invalidate_class_lookup_cache

In the testcase below, we push_to_top_level to instantiate f and g, and they
can both use the previous_class_level cache from instantiating A<int>.
Wiping the cache in pop_from_top_level is not helpful; we'll do that in
pushclass if needed.

  template <class T> struct A
  {
    int i;
    void f() { i = 42; }
    void g() { i = 24; }
  };

  int main()
  {
    A<int> a;
    a.f();
    a.g();
  }

gcc/cp/ChangeLog:

* name-lookup.cc (pop_from_top_level): Don't
invalidate_class_lookup_cache.
gcc/cp/name-lookup.cc