Skip to content
Snippets Groups Projects
  • Reid Kleckner's avatar
    3df7e8ef
    Allow more lookup of types in dependent base classes · 3df7e8ef
    Reid Kleckner authored
    MSVC appears to perform name lookup into dependent base classes when the
    dependent base class has a known primary template.  This allows them to
    know whether some unqualified ids are types or not, which allows them to
    parse more class templates without typename keywords.
    
    We can do the same thing when type name lookup fails, and if we find a
    single type decl in one of our dependent base classes, recover as though
    the user wrote 'typename MyClass::TypeFromBase'.
    
    This allows us to parse some COM smart pointer classes in wrl/client.h
    from the Windows 8 SDK.
    
    Reviewers: rsmith
    
    Differential Revision: http://reviews.llvm.org/D4237
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212561 91177308-0d34-0410-b5e6-96231b3b80d8
    3df7e8ef
    History
    Allow more lookup of types in dependent base classes
    Reid Kleckner authored
    MSVC appears to perform name lookup into dependent base classes when the
    dependent base class has a known primary template.  This allows them to
    know whether some unqualified ids are types or not, which allows them to
    parse more class templates without typename keywords.
    
    We can do the same thing when type name lookup fails, and if we find a
    single type decl in one of our dependent base classes, recover as though
    the user wrote 'typename MyClass::TypeFromBase'.
    
    This allows us to parse some COM smart pointer classes in wrl/client.h
    from the Windows 8 SDK.
    
    Reviewers: rsmith
    
    Differential Revision: http://reviews.llvm.org/D4237
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212561 91177308-0d34-0410-b5e6-96231b3b80d8
Code owners
Assign users and groups as approvers for specific file changes. Learn more.