- Apr 22, 2009
-
-
Chris Lattner authored
llvm-svn: 69781
-
Chris Lattner authored
way to serialize selectors yet. llvm-svn: 69780
-
Chris Lattner authored
fix a couple of bugs in reader support for ObjCInterfaceDecl, and add support for reading ObjCInterfaceType. llvm-svn: 69779
-
Chris Lattner authored
llvm-svn: 69778
-
Chris Lattner authored
start of the declspec. The fixit still goes there, and we underline the declspec. This helps when the start of the declspec came from a macro that expanded from a system header. For example, we now produce: t.c:2:8: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] static x; ~~~~~~ ^ llvm-svn: 69777
-
Ted Kremenek authored
llvm-svn: 69776
-
Daniel Dunbar authored
llvm-svn: 69775
-
Douglas Gregor authored
Reorganize built-in initialization to separate the creation of target builtins from marking IdentifierInfos as builtins. No functionality change llvm-svn: 69774
-
Daniel Dunbar authored
llvm-svn: 69773
-
Daniel Dunbar authored
llvm-svn: 69772
-
Daniel Dunbar authored
- Superclasses are now always laid out their shadow structure at the first field. - Prior to this, the entire class heirarchy was flattened into a single structure which meant that alignment, padding, and bitfields weren't packed correctly (the ASTRecordLayout was correct however, which meant our debug info didn't coincide with ivar offsets, for example). - This is still very suboptimal, but I believe the ivar layout itself is now at least close to correct. - <rdar://problem/6773388> error: objc[29823]: layout bitmap sliding backwards llvm-svn: 69771
-
rdar://6814950Chris Lattner authored
by marking the predefines buffer as a system header. The problem with stdint is that it was getting problems like this: /Volumes/Projects/cvs/llvm/Debug/lib/clang/1.0/include/stdint.h:43:9: warning: 'long long' is an extension when C99 mode is not enabled typedef __INT64_TYPE__ int64_t; ^ <built-in>:73:29: note: instantiated from: #define __INT64_TYPE__ long long ^ We correctly silence warnings in system headers, but only if the spelling location of the token came from the system header. This is designed so that if you use a system macro in your code that you don't get punished for its definition. This is all cool except that the predefines buffer wasn't considered a system header. llvm-svn: 69770
-
Chris Lattner authored
llvm-svn: 69767
-
Chris Lattner authored
7 left for 64-bit ABI. llvm-svn: 69766
-
Chris Lattner authored
llvm-svn: 69765
-
Chris Lattner authored
llvm-svn: 69764
-
Chris Lattner authored
produces just 14 dead "declares" in llvm ir instead of 19. llvm-svn: 69763
-
Chris Lattner authored
rdar://6809612 llvm-svn: 69762
-
Chris Lattner authored
llvm-svn: 69761
-
Chris Lattner authored
for scoping to match C99 even when in C89 mode. This patch fixes this (eliminating a "redefinition of thisKey" error), and also prevents non-sensical diagnostics in -pedantic mode like this: t.m:7:8: warning: variable declaration in for loop is a C99-specific feature for (id thisKey in keys) ; ^ llvm-svn: 69760
-
Douglas Gregor authored
llvm-svn: 69758
-
Douglas Gregor authored
llvm-svn: 69757
-
Chris Lattner authored
extern. Previously we would warn about it and ignore the attribute. This is incorrect, it should be handled as a c89 "extern inline" function. Many thanks to Matthieu Castet for pointing this out and beating me over the head until I got it. PR3988: extern inline function are not externally visible llvm-svn: 69756
-
Douglas Gregor authored
This optimization improves performance on the Carbon-prefixed "Hello, World!" example by 57%. For reference, we're now about 2.25x faster than GCC PCH. We're also pulling in far less of the PCH file: *** PCH Statistics: 411/20693 types read (1.986179%) 2553/59230 declarations read (4.310316%) 1093/44646 identifiers read (2.448148%) 1/32954 statements read (0.003035%) 21/6187 macros read (0.339421%) llvm-svn: 69755
-
Ted Kremenek authored
llvm-svn: 69754
-
Steve Naroff authored
llvm-svn: 69753
-
Chris Lattner authored
llvm-svn: 69752
-
Ted Kremenek authored
some refactoring I did recently to StoreManager. StoreManager::CastRegion: Handle casts to void* by stripping TypedViewRegions. llvm-svn: 69751
-
Chris Lattner authored
llvm-svn: 69750
-
Dan Gohman authored
practical benefit in the case of ScalarEvolution, and it's otherwise a nuisance. llvm-svn: 69749
-
Mike Stump authored
llvm-svn: 69748
-
Chris Lattner authored
llvm-svn: 69747
-
Mike Stump authored
r56595 timeframe, but left undone. Radar 6812711 llvm-svn: 69745
-
Douglas Gregor authored
name lookup of structures declared within other structures. llvm-svn: 69744
-
Evan Cheng authored
This fixes a very subtle bug. vr defined by an implicit_def is allowed overlap with any register since it doesn't actually modify anything. However, if it's used as a two-address use, its live range can be extended and it can be spilled. The spiller must take care not to emit a reload for the vn number that's defined by the implicit_def. This is both a correctness and performance issue. llvm-svn: 69743
-
-
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
-