Skip to content
  1. Jun 07, 2013
  2. Jun 06, 2013
    • Jordan Rose's avatar
      [analyzer; new edges] Simplify edges in a C++11 for-range loop. · cf10ea8c
      Jordan Rose authored
      Previously our edges were completely broken here; now, the final result
      is a very simple set of edges in most cases: one up to the "for" keyword
      for context, and one into the body of the loop. This matches the behavior
      for ObjC for-in loops.
      
      In the AST, however, CXXForRangeStmts are handled very differently from
      ObjCForCollectionStmts. Since they are specified in terms of equivalent
      statements in the C++ standard, we actually have implicit AST nodes for
      all of the semantic statements. This makes evaluation very easy, but
      diagnostic locations a bit trickier. Fortunately, the problem can be
      generally defined away by marking all of the implicit statements as
      part of the top-level for-range statement.
      
      One of the implicit statements in a for-range statement is the declaration
      of implicit iterators __begin and __end. The CFG synthesizes two
      separate DeclStmts to match each of these decls, but until now these
      synthetic DeclStmts weren't in the function's ParentMap. Now, the CFG
      keeps track of its synthetic statements, and the AnalysisDeclContext will
      make sure to add them to the ParentMap.
      
      <rdar://problem/14038483>
      
      llvm-svn: 183449
      cf10ea8c
    • Sean Callanan's avatar
      Hardened the IR interpreter to prevent it from · 544053e3
      Sean Callanan authored
      reading non-standard value sizes.
      
      <rdar://problem/14081292>
      
      llvm-svn: 183448
      544053e3
    • Arnold Schwaighofer's avatar
      Revert "ARM sched model: Add SIMD/VFP load/store instructions on Swift" · e5f6a8f6
      Arnold Schwaighofer authored
      Breaks linux build bots (I thought the problem was something else).
      
      llvm-svn: 183447
      e5f6a8f6
Loading