- Apr 22, 2009
-
-
-
rdar://problem/6777209Ted Kremenek authored
Fix: <rdar://problem/6777209> false Dereference of null pointer in loop: pointer increment/decrement preserves non-nullness When the StoreManager doesn't reason well about pointer-arithmetic, propagate the non-nullness constraint on a pointer value when performing pointer arithmetic uisng ++/--. llvm-svn: 69741
-
Ted Kremenek authored
llvm-svn: 69740
-
Douglas Gregor authored
unit into the PCH file, since we won't be performing name lookup into it anyway. Reduces the size of the Carbon.h PCH file by ~200k. llvm-svn: 69739
-
Chris Lattner authored
mark exactly the blocks which have references that are "live through". This fixes a rejects valid: rdar://6808730 - [sema] [blocks] block rejected at global scope llvm-svn: 69738
-
Douglas Gregor authored
identifiers from a precompiled header. This patch changes the primary name lookup method for entities within a precompiled header. Previously, we would load all of the names of declarations at translation unit scope into a large DenseMap (inside the TranslationUnitDecl's DeclContext), and then perform a special "last resort" lookup into this DeclContext when we knew there was a PCH file (see Sema::LookupName). Now, when we see an identifier named for the first time, we load all of the declarations with that name that are visible from the translation unit into the IdentifierInfo's chain of declarations. Thus, the explicit "look into the translation unit's DeclContext" code is gone, and Sema effectively uses the same IdentifierInfo-based name lookup mechanism whether we are using a PCH file or not. This approach should help PCH scale with the size of the input program rather than the size of the PCH file. The "Hello, World!" application with Carbon.h as a PCH file now loads 20% of the identifiers in the PCH file rather than 85% of the identifiers. 90% of the 20% of identifiers loaded are actually loaded when we deserialize the preprocessor state. The next step is to make the preprocessor load macros lazily, which should drastically reduce the number of types, declarations, and identifiers loaded for "Hello, World". llvm-svn: 69737
-
Chris Lattner authored
llvm-svn: 69731
-
- Apr 21, 2009
-
-
Ted Kremenek authored
into StoreManager::CastRegion. Both methods were practically identical, and this is core logic that is common to all StoreManagers since it defines the basic invariants of the abstract memory model. llvm-svn: 69730
-
Chris Lattner authored
llvm-svn: 69729
-
Daniel Dunbar authored
@implementation that closes a @class delcaration. - I don't know how to make a test case for this, but this strengthens the invariants that hold internally. The functionality change here is the edit to SemaDeclObjC.cpp. llvm-svn: 69728
-
Daniel Dunbar authored
llvm-svn: 69727
-
Daniel Dunbar authored
llvm-svn: 69721
-
Chris Lattner authored
llvm-svn: 69720
-
Ted Kremenek authored
pieces. llvm-svn: 69719
-
Fariborz Jahanian authored
llvm-svn: 69710
-
Dan Gohman authored
type to truncate to should be the number of bits of the value that are preserved, not the number that are clobbered with sign-extension. This fixes regressions in ldecod. llvm-svn: 69704
-
Ted Kremenek authored
llvm-svn: 69703
-
Ted Kremenek authored
the build). llvm-svn: 69702
-
Chris Lattner authored
in non-fragile abi mode. rdar://6811884 llvm-svn: 69701
-
Mikhail Glushenkov authored
Should now work when building with objdir != srcdir and when llvm-gcc is not available. Thanks to Duncan Sands for testing and advice! llvm-svn: 69700
-
Douglas Gregor authored
llvm-svn: 69699
-
Daniel Dunbar authored
llvm-svn: 69697
-
Fariborz Jahanian authored
llvm-svn: 69695
-
Ted Kremenek authored
llvm-svn: 69694
-
Ted Kremenek authored
llvm-svn: 69688
-
Chris Lattner authored
in cases like this: typedef struct { short instance; char name[0]; } ATTR_LIST_ENTRY2; void test() { ATTR_LIST_ENTRY2 X = (ATTR_LIST_ENTRY2) { .instance = 7, }; } While it is safe to emit them, it is pretty silly. llvm-svn: 69687
-
Ted Kremenek authored
layered regions. llvm-svn: 69686
-
Devang Patel authored
llvm-svn: 69684
-
Ted Kremenek authored
llvm-svn: 69682
-
Douglas Gregor authored
tentative definitions off to the ASTConsumer at the end of the translation unit. Eliminate CodeGen's internal tracking of tentative definitions, and instead hook into ASTConsumer::CompleteTentativeDefinition. Also, tweak the definition-deferal logic for C++, where there are no tentative definitions. Fixes <rdar://problem/6808352>, and will make it much easier for precompiled headers to cope with tentative definitions in the future. llvm-svn: 69681
-
-
Anton Korobeynikov authored
Patch by Jay Foad! llvm-svn: 69679
-
Anton Korobeynikov authored
Patch by Jay Foad! llvm-svn: 69678
-
Anton Korobeynikov authored
non-zero exit status, so nm will already have printed some error messages.' Patch by Jay Foad! llvm-svn: 69677
-
Daniel Dunbar authored
llvm-svn: 69676
-
Daniel Dunbar authored
addRecordToClass. - Among other things, this fixes a crash when applying sizeof to an interface with synthesized ivars, although things still aren't "correct" here. llvm-svn: 69675
-
Steve Naroff authored
Add pch reader/writer support for most of DeclObjC.h. Very close to reading/writing all ObjC AST nodes that we will encounter in header files (still a few FIXME's). Once selector support is in place, we should be able to take this for a spin (and add test cases). llvm-svn: 69674
-
Duncan Sands authored
Spotted by gcc-4.5. llvm-svn: 69673
-
Rafael Espindola authored
This fixes PR4002. llvm-svn: 69672
-
Chris Lattner authored
rdar://6810940 - @synchronized has no sema checks llvm-svn: 69670
-