Add an extension to avoid an error when a global template has the same name as
a member template, and you try to call the member template with an explicit
template argument.  See PR7247 

For example, this downgrades the error to a warning in:

template<typename T> struct set{};
struct Value {
    template<typename T>
    void set(T value) {
    }
};
void foo() {
    Value v;
    v.set<double>(3.2);  // Warning here.
}

llvm-svn: 105518
5 files changed
tree: f96c496cd803e82c658fd6fecc2d9fd0bd1399e4
  1. clang/
  2. compiler-rt/
  3. libcxx/
  4. llvm/