1. 03 Feb, 2017 1 commit
    • Hans Wennborg's avatar
      Merging r294008: · 870923f4
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r294008 | arphaman | 2017-02-03 06:22:33 -0800 (Fri, 03 Feb 2017) | 14 lines
      
      [Sema][ObjC++] Typo correction should handle ivars and properties
      
      After r260016 and r260017 disabled typo correction for ivars and properties
      clang didn't report errors about unresolved identifier in the base of ivar and
      property ref expressions. This meant that clang invoked CodeGen on invalid AST
      which then caused a crash.
      
      This commit re-enables typo correction for ivars and properites, and fixes the
      PR25113 & PR26486 (that were originally fixed in r260017 and r260016) in a
      different manner by transforming the Objective-C ivar reference expression with
      'IsFreeIvar' preserved.
      
      rdar://30310772
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@294059 91177308-0d34-0410-b5e6-96231b3b80d8
      870923f4
  2. 25 Mar, 2016 1 commit
    • 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