Skip to content
  1. Jul 16, 2009
  2. Jul 15, 2009
  3. Jul 14, 2009
  4. 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
  5. 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
  6. Jul 10, 2009
  7. Jul 09, 2009
  8. Jul 07, 2009
  9. Jul 06, 2009
Loading