Skip to content
  • Manman Ren's avatar
    [ObjCXX] Warn undeclared identifiers. · 61a5953b
    Manman Ren authored
    Instantiation dependence were not being handled correctly for OpqaueValueExpr
    AST nodes. As a result, if an undeclared identifier was used in a CXXNewExpr
    that is assigned to a ObjC property, there would be no error during parsing, and
    there would be a crash during code gen. This patch makes sure that an error
    will be issued during parsing in this case.
    
    Before the fix, if CXXNewExpr has a typo, its InstantiationDependent will be
    set to true, but if it is wrapped in a OpaqueValueExpr, the OpaqueValueExpr will
    not be instantiation dependent, causing the TypoExpr not be to resolved. The fix
    propagates InstantiationDependent to OpaqueValueExpr from its SourceExpr. It
    also propagates the other instantiation bits.
    
    rdar://24975562
    
    Differential Revision: http://reviews.llvm.org/D18461
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@264444 91177308-0d34-0410-b5e6-96231b3b80d8
    61a5953b