tree d5b325c55bff6ec06d00be7fbae9af927ae14fa3
parent cb4d690820295d93c1cea6c13fb4409b8c1db2cf
author Rafael Espindola <rafael.espindola@gmail.com> 1357674214 +0000
committer Rafael Espindola <rafael.espindola@gmail.com> 1357674214 +0000

Mark all subsequent decls used.

In the source

  static void f();
  static void f();
  template<typename T>
  static void g() {
    f();
  }
  static void f() {
  }
  void h() {
    g<int>();
  }

the call to f refers to the second decl, but it is only marked used at the end
of the translation unit during instantiation, after the third f decl has been
linked in.

With this patch we mark all subsequent decls used, so that it is easy to check
if a symbol is used or not.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171888 91177308-0d34-0410-b5e6-96231b3b80d8
