Skip to content
  1. Dec 03, 2008
    • Ted Kremenek's avatar
      BasicConstraintManager: · fff9f4aa
      Ted Kremenek authored
      - Fix nonsensical logic in AssumeSymGE. When comparing 'sym >= constant' and the
        constant is the maximum integer value, add the constraint that 'sym ==
        constant' when the path is deemed feasible.  All other cases are feasible.
      - Improve AssumeSymGT. When comparing 'sym > constant' and constant is the
        maximum integer value we know the path is infeasible.
      - Add test case for this enhancement to AssumeSymGT.
      
      llvm-svn: 60490
      fff9f4aa
    • Ted Kremenek's avatar
      BasicConstraintManager: · f935cfe2
      Ted Kremenek authored
      - Fix nonsensical logic in AssumeSymLE. When comparing 'sym <= constant' and the
        constant is the minimum integer value, add the constraint that 'sym ==
        constant' when the path is deemed feasible.  All other cases are feasible.
      - Improve AssumeSymLT to address <rdar://problem/6407949>.  When comparing
        'sym < constant' and constant is the minimum integer value we know the
        path is infeasible.
      - Add test case for <rdar://problem/6407949>.
      
      llvm-svn: 60489
      f935cfe2
  2. Dec 02, 2008
  3. Nov 30, 2008
  4. Nov 29, 2008
  5. Nov 28, 2008
  6. Nov 27, 2008
  7. Nov 25, 2008
  8. Nov 24, 2008
  9. Nov 23, 2008
  10. Nov 22, 2008
  11. Nov 21, 2008
  12. Nov 19, 2008
  13. Nov 18, 2008
    • Zhongxing Xu's avatar
      handle the case that the array element is of structure type when bind the... · f87a7abc
      Zhongxing Xu authored
      handle the case that the array element is of structure type when bind the whole array to a single value (for example, UnknownVal, UndefinedVal).
      
      llvm-svn: 59521
      f87a7abc
    • Chris Lattner's avatar
      This reworks some of the Diagnostic interfaces a bit to change how diagnostics · 8488c829
      Chris Lattner authored
      are formed.  In particular, a diagnostic with all its strings and ranges is now
      packaged up and sent to DiagnosticClients as a DiagnosticInfo instead of as a 
      ton of random stuff.  This has the benefit of simplifying the interface, making
      it more extensible, and allowing us to do more checking for things like access
      past the end of the various arrays passed in.
      
      In addition to introducing DiagnosticInfo, this also substantially changes how 
      Diagnostic::Report works.  Instead of being passed in all of the info required
      to issue a diagnostic, Report now takes only the required info (a location and 
      ID) and returns a fresh DiagnosticInfo *by value*.  The caller is then free to
      stuff strings and ranges into the DiagnosticInfo with the << operator.  When
      the dtor runs on the DiagnosticInfo object (which should happen at the end of
      the statement), the diagnostic is actually emitted with all of the accumulated
      information.  This is a somewhat tricky dance, but it means that the 
      accumulated DiagnosticInfo is allowed to keep pointers to other expression 
      temporaries without those pointers getting invalidated.
      
      This is just the minimal change to get this stuff working, but this will allow
      us to eliminate the zillions of variant "Diag" methods scattered throughout
      (e.g.) sema.  For example, instead of calling:
      
        Diag(BuiltinLoc, diag::err_overload_no_match, typeNames,
             SourceRange(BuiltinLoc, RParenLoc));
      
      We will soon be able to just do:
      
        Diag(BuiltinLoc, diag::err_overload_no_match)
            << typeNames << SourceRange(BuiltinLoc, RParenLoc));
      
      This scales better to support arbitrary types being passed in (not just 
      strings) in a type-safe way.  Go operator overloading?!
      
      llvm-svn: 59502
      8488c829
    • Chris Lattner's avatar
      eliminate dependence of strange "Diagnostic::Report" method, · 3de58149
      Chris Lattner authored
      delete huge trailing whitespace to fit in 80 cols.
      
      llvm-svn: 59497
      3de58149
Loading