Skip to content
  1. Jul 14, 2009
  2. Jul 13, 2009
    • Ted Kremenek's avatar
      Enhance SimpleSValuator::EvalBinOpNN to recognize the trivial case · b63f7152
      Ted Kremenek authored
      where we are comparing a symbolic value against itself, regardless of
      the nature of that symbolic value.
      
      This enhancement identified a case where RegionStoreManager is not
      correctly symbolicating the values of the pointees of parameters.  The
      failing test is now in 'test/Analysis/misc-ps-region-store.m', with
      that test file now (temporarily) marked XFAIL.
      
      llvm-svn: 75521
      b63f7152
  3. Jul 11, 2009
    • Ted Kremenek's avatar
      Handle insidious corner case exposed by RegionStoreManager when handling void*... · da03e844
      Ted Kremenek authored
      Handle insidious corner case exposed by RegionStoreManager when handling void* values that are bound
      to symbolic regions and then treated like integers.
      
      llvm-svn: 75356
      da03e844
    • Ted Kremenek's avatar
      Restructure RegionStoreManager::EvalBinOp() as a switch dispatch over different · f6f0461a
      Ted Kremenek authored
      MemRegion kinds. This allows the compiler to identify what MemRegions we don't
      handle for pointer arithmetic.
      
      llvm-svn: 75326
      f6f0461a
    • Steve Naroff's avatar
      This patch includes a conceptually simple, but very intrusive/pervasive change. · 7cae42b0
      Steve Naroff authored
      The idea is to segregate Objective-C "object" pointers from general C pointers (utilizing the recently added ObjCObjectPointerType). The fun starts in Sema::GetTypeForDeclarator(), where "SomeInterface *" is now represented by a single AST node (rather than a PointerType whose Pointee is an ObjCInterfaceType). Since a significant amount of code assumed ObjC object pointers where based on C pointers/structs, this patch is very tedious. It should also explain why it is hard to accomplish this in smaller, self-contained patches.
      
      This patch does most of the "heavy lifting" related to moving from PointerType->ObjCObjectPointerType. It doesn't include all potential "cleanups". The good news is additional cleanups can be done later (some are noted in the code). This patch is so large that I didn't want to include any changes that are purely aesthetic.
      
      By making the ObjC types truly built-in, they are much easier to work with (and require fewer "hacks"). For example, there is no need for ASTContext::isObjCIdStructType() or ASTContext::isObjCClassStructType()! We believe this change (and the follow-up cleanups) will pay dividends over time. 
      
      Given the amount of code change, I do expect some fallout from this change (though it does pass all of the clang tests). If you notice any problems, please let us know asap! Thanks.
      
      llvm-svn: 75314
      7cae42b0
    • Ted Kremenek's avatar
      Restructure RegionStoreManager::getSizeInElements() to use a switch statement · 94575aac
      Ted Kremenek authored
      over the types of MemRegions. This allows the compiler to warn us which regions
      are not handled, and also is a little faster.
      
      llvm-svn: 75304
      94575aac
  4. Jul 10, 2009
  5. Jul 09, 2009
  6. Jul 07, 2009
  7. Jul 06, 2009
  8. Jul 03, 2009
  9. Jul 02, 2009
  10. Jul 01, 2009
  11. Jun 30, 2009
Loading