Skip to content
  1. Feb 27, 2009
  2. Feb 26, 2009
  3. Feb 25, 2009
    • Ted Kremenek's avatar
      Add experimental logic in GRExprEngine::EvalEagerlyAssume() to handle · dc3f50fb
      Ted Kremenek authored
      expressions of the form: 'short x = (y != 10);' While we handle 'int x = (y !=
      10)' lazily, the cast to another integer type currently loses the symbolic
      constraint. Eager evaluation of the constraint causes the paths to bifurcate and
      eagerly evaluate 'y != 10' to a constant of 1 or 0. This should address
      <rdar://problem/6619921> until we have a better (more lazy approach) for
      handling promotions/truncations of symbolic integer values.
      
      llvm-svn: 65480
      dc3f50fb
    • Douglas Gregor's avatar
      Improve location information on "reused" class template specialization · 1e249f86
      Douglas Gregor authored
      decls. Test and document the semantic location of class template
      specialization definitions that occur within a scope enclosing the
      scope of the class template.
      
      llvm-svn: 65478
      1e249f86
    • Douglas Gregor's avatar
      Perform additional semantic checking of class template · f47b911f
      Douglas Gregor authored
      specializations. In particular:
      
        - Make sure class template specializations have a "template<>"
          header, and complain if they don't.
        - Make sure class template specializations are declared/defined
          within a valid context. (e.g., you can't declare a specialization
          std::vector<MyType> in the global namespace).
      
      llvm-svn: 65476
      f47b911f
Loading