Mark TypeDecls used in member initializers as referenced.
authorNico Weber <nicolasweber@gmx.de>
Wed, 12 Nov 2014 03:52:25 +0000 (03:52 +0000)
committerNico Weber <nicolasweber@gmx.de>
Wed, 12 Nov 2014 03:52:25 +0000 (03:52 +0000)
commit28309185b28034edc1b54c4e2a01c399f5097f28
treed35334799de7cf1ba0fd80b563f0245c93aa2fa0
parentaa0117c628d8e3ccd0a3c055d8faaa01768389af
Mark TypeDecls used in member initializers as referenced.

Without this, -Wunused-local-typedef would incorrectly warn on the two typedefs
in this program:

void foo() {
  struct A {};
  struct B : public A {
    typedef A INHERITED;
    B() : INHERITED() {}

    typedef B SELF;
    B(int) : SELF() {}
  };
}

llvm-svn: 221765
clang/lib/Sema/SemaDeclCXX.cpp
clang/test/SemaCXX/warn-unused-local-typedef.cpp