]>
granicus.if.org Git - clang/log
Douglas Gregor [Wed, 22 Apr 2009 00:17:41 +0000 (00:17 +0000)]
Eliminate a FIXME in one of the PCH test cases
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69757
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 22 Apr 2009 00:03:30 +0000 (00:03 +0000)]
Fix some mishandling of the attr(gnu_inline) mode when used with
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
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69756
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 21 Apr 2009 23:56:24 +0000 (23:56 +0000)]
Lazy deserialization of macro definitions for precompiled headers.
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%)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69755
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 21 Apr 2009 23:53:32 +0000 (23:53 +0000)]
Fix crash reported in PR 3991. The analyzer doesn't reason about ObjCKVCExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69754
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 21 Apr 2009 23:46:12 +0000 (23:46 +0000)]
Update Xcode project with recently added files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69753
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 21 Apr 2009 23:31:46 +0000 (23:31 +0000)]
This patch is largely due to Zhongxing Xu. I've simply applied it because of
some refactoring I did recently to StoreManager.
StoreManager::CastRegion: Handle casts to void* by stripping TypedViewRegions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69751
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 23:28:41 +0000 (23:28 +0000)]
apply Eli's patch to fix PR4008, with a testcase. Thanks Eli!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69750
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 21 Apr 2009 23:03:34 +0000 (23:03 +0000)]
Resolve merge conflict better.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69748
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 23:00:09 +0000 (23:00 +0000)]
fix PR4026: Clang can't codegen __func__ without implicit cast
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69747
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 21 Apr 2009 22:51:42 +0000 (22:51 +0000)]
Tighten up blocks type checking. This was discussed back in the
r56595 timeframe, but left undone. Radar
6812711
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69745
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 21 Apr 2009 22:48:38 +0000 (22:48 +0000)]
Lazy deserialization of identifiers in PCH files fixed a problem with
name lookup of structures declared within other structures.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69744
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 22:38:46 +0000 (22:38 +0000)]
Fix rdar://
6814047 , a crash on invalid in blocks code I noticed when
working on the previous fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69742
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 21 Apr 2009 22:38:05 +0000 (22:38 +0000)]
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 ++/--.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69741
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 21 Apr 2009 22:37:11 +0000 (22:37 +0000)]
Tweak pretty-printing of constraints.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69740
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 21 Apr 2009 22:32:33 +0000 (22:32 +0000)]
Don't bother writing a visible-declarations record for the translation
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69739
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 22:26:47 +0000 (22:26 +0000)]
fix marking of nested blocks with the "hasBlockDeclRefExprs" to
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
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69738
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 21 Apr 2009 22:25:48 +0000 (22:25 +0000)]
Lazy deserialization of the declaration chains associated with
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".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69737
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 22:00:54 +0000 (22:00 +0000)]
this is a warning now, return a well formed ast.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69731
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 21 Apr 2009 21:51:34 +0000 (21:51 +0000)]
Refactor 'BasicStoreManager::CastRegion' and 'RegionStoreManager::CastRegion'
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69730
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 21:42:41 +0000 (21:42 +0000)]
force a 32-bit triple.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69729
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 21:41:56 +0000 (21:41 +0000)]
Make sure to mark the interface as completed when we see an
@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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69728
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 21:17:29 +0000 (21:17 +0000)]
Force triple (test case fails for platforms with the non-fragile ABI).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69727
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 21:16:23 +0000 (21:16 +0000)]
We no longer accept @defs with the non-fragile ABI.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69721
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 21:14:41 +0000 (21:14 +0000)]
temporarily downgrade to a warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69720
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 21 Apr 2009 21:03:00 +0000 (21:03 +0000)]
Plist diagnostics: Remove deprecated single-point locations in control-flow
pieces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69719
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 21 Apr 2009 20:28:41 +0000 (20:28 +0000)]
Patch to diagnose use of objc's @defs in nonfragile abi.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69710
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 21 Apr 2009 20:01:03 +0000 (20:01 +0000)]
Added over-release test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69703
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 21 Apr 2009 19:56:58 +0000 (19:56 +0000)]
Recommit 69694 but this time also include the header changes (sorry for breaking
the build).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69702
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 19:55:16 +0000 (19:55 +0000)]
reject sizeof(itf) when itf is a forward declared interface, or when
in non-fragile abi mode. rdar://
6811884
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69701
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 21 Apr 2009 19:28:58 +0000 (19:28 +0000)]
Fix emission of static tentative definitions referenced from other static functions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69699
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 18:54:52 +0000 (18:54 +0000)]
Revert 69694 (use of undefined getSymbol)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69697
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 21 Apr 2009 18:33:06 +0000 (18:33 +0000)]
More objc2's ivar layout bitmap. No change in functionality.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69695
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 21 Apr 2009 18:31:19 +0000 (18:31 +0000)]
Add pretty-printing for CodeTextRegions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69694
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 21 Apr 2009 18:09:22 +0000 (18:09 +0000)]
Lexically order the implementation of MemRegion 'print' methods. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69688
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 17:59:23 +0000 (17:59 +0000)]
don't bother emitting a zero byte memset at all. We used to get them
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69687
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 21 Apr 2009 17:37:26 +0000 (17:37 +0000)]
Use 'getAs<CodeTextRegion>' instead of 'dyn_cast<CodeTextRegion>' to handle any
layered regions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69686
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 21 Apr 2009 17:14:24 +0000 (17:14 +0000)]
Grammar fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69682
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 21 Apr 2009 17:11:58 +0000 (17:11 +0000)]
Explictly track tentative definitions within Sema, then hand those
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69681
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 16:03:31 +0000 (16:03 +0000)]
Fix test typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69676
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 15:48:54 +0000 (15:48 +0000)]
Use an ASTRecordLayout to compute the sizeof an interface, not
addRecordToClass.
- Among other things, this fixes a crash when applying sizeof to an
interface with synthesized ivars, although things still aren't
"correct" here.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69675
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 21 Apr 2009 15:12:33 +0000 (15:12 +0000)]
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).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69674
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 06:11:25 +0000 (06:11 +0000)]
implement semantic analysis for @synchronized, fixing a crash on invalid
rdar://
6810940 - @synchronized has no sema checks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69670
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 06:06:09 +0000 (06:06 +0000)]
this time with more workingness.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69669
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Tue, 21 Apr 2009 06:01:16 +0000 (06:01 +0000)]
Pass and return aggregate types directly to function calls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69668
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 06:01:00 +0000 (06:01 +0000)]
add support for goto checking and @synchronized blocks,
rdar://
6810106
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69667
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 06:00:24 +0000 (06:00 +0000)]
fix massive testsuite failures from Alexei's patch due to inverted logic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69666
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 05:40:52 +0000 (05:40 +0000)]
Split preprocessor initialization logic out of clang-cc into
libfrontend. Patch by Alexei Svitkine!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69664
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 05:35:32 +0000 (05:35 +0000)]
document new form of -fdiagnostics-print-source-range-in
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69663
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 05:34:31 +0000 (05:34 +0000)]
rename -fprint-source-range-info -> -fdiagnostics-print-source-range-info.
Temporarily accept both of them, I'll rip out the old one after awhile.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69662
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 05:19:11 +0000 (05:19 +0000)]
Fix PR4027 + rdar://
6808859 , we were rejecting implicit casts of
aggregates even though we already accept explicit ones. Easy fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69661
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 04:54:03 +0000 (04:54 +0000)]
downgrade from extwarn to warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69660
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 04:46:33 +0000 (04:46 +0000)]
improve MacroInfo to track the source range of the macro definition,
patch by Alexei Svitkine!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69659
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 04:41:23 +0000 (04:41 +0000)]
use of predefined identifiers like __func__ at global scope warn in sema,
but crashed codegen. Fix this to report the name of the llvm function.
This fixes rdar://
6808051
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69658
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 03:57:54 +0000 (03:57 +0000)]
make "in included from" and "in instatiation from" messages respect
-fno-show-location, patch by Alexei Svitkine (PR4024)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69657
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Apr 2009 03:42:09 +0000 (03:42 +0000)]
add a preprocessor callback function for #undef, patch by
Alexei Svitkine!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69656
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 21 Apr 2009 02:22:11 +0000 (02:22 +0000)]
Add a CXXDestroyExpr. Add classof member functions to CXXTempVarDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69654
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Tue, 21 Apr 2009 02:21:29 +0000 (02:21 +0000)]
Use an APInt of target int size to detect overflow while parsing multichars.
So 'abc' on i16 platforms will warn but not on i32 platforms.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69653
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 21 Apr 2009 01:57:48 +0000 (01:57 +0000)]
Add the beginnings of a CXXTempVarDecl class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69652
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 01:32:46 +0000 (01:32 +0000)]
Remove unnused variable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69650
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 01:19:28 +0000 (01:19 +0000)]
Kill ASTContext::[gs]etFieldForDecl, instead we just lookup things
when we need them -- which is exactly what some code was already
doing!
- No intended functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69648
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 01:19:10 +0000 (01:19 +0000)]
Revert 69646, that was the precise inverse of what I wanted to commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69647
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 01:18:01 +0000 (01:18 +0000)]
Kill ASTContext::[gs]etFieldForDecl, instead we just lookup things
when we need them -- which is exactly what some code was already
doing!
- No intended functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69646
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 21 Apr 2009 00:51:43 +0000 (00:51 +0000)]
Fixup codegen for write barriers for block variables. Radar
6786715
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69642
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 00:49:20 +0000 (00:49 +0000)]
Remove LateBoundIVars() runtime interface, it is unused.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69641
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 00:41:40 +0000 (00:41 +0000)]
Assert on a few conditions that (I believe) should hold
w.r.t. ASTContext::[gs]etFieldDecl, and the Field argument to
EmitObjCValueForIvar).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69639
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 21 Apr 2009 00:25:10 +0000 (00:25 +0000)]
Look at the TMP environment variable as well.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69638
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 20 Apr 2009 23:53:56 +0000 (23:53 +0000)]
Update this (non-default) test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69636
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 20 Apr 2009 22:03:45 +0000 (22:03 +0000)]
ObjC2's Ivar bitmap layout work. No change in functionality.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69629
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 20 Apr 2009 21:52:34 +0000 (21:52 +0000)]
Mark TypeForDecl mutable.
- Let the const propogation begin.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69628
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Apr 2009 21:08:10 +0000 (21:08 +0000)]
fix the second half of PR4006 and rdar://
6807000 by treating
() as being either zero arguments or one empty argument depending
on situation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69627
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 20 Apr 2009 20:36:09 +0000 (20:36 +0000)]
Write the identifier table into the PCH file as an on-disk hash table
that also includes the contents of the IdentifierInfo itself (the
various fields and flags, along with the chain of identifiers visible
at the top level that have that name).
We don't make any use of the hash table yet, except that our
identifier ID -> string mapping points into the hash table now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69625
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 20 Apr 2009 20:31:10 +0000 (20:31 +0000)]
Fix tyop in SSSE3 header (
6808876 ).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69623
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 20 Apr 2009 20:28:21 +0000 (20:28 +0000)]
Also look at the TEMP environment variable as a place to put temporary
files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69622
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 20 Apr 2009 20:18:54 +0000 (20:18 +0000)]
Move countInheritedIvars to within striking distance of
GetClassSizeInfo
Reduce nesting in GetInterfaceDeclStructLayout.
Tweak some comments.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69621
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 20 Apr 2009 20:16:02 +0000 (20:16 +0000)]
Fix spelling error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69620
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 20 Apr 2009 20:09:33 +0000 (20:09 +0000)]
Add pch reader/writer support for ObjCContainerDecl, ObjCInterfaceDecl, & ObjCIvarDecl.
Next step: Add selector support to PCHWriter::AddDeclarationName().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69619
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Apr 2009 19:12:28 +0000 (19:12 +0000)]
the __gnuc_inline__ attribute is actually named __gnu_inline__,
PR4023
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69618
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 20 Apr 2009 19:07:55 +0000 (19:07 +0000)]
Add test case to check line number in debug info.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69617
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 20 Apr 2009 19:03:54 +0000 (19:03 +0000)]
Allow the Info type used in the on-disk hash table generator to have state
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69616
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 20 Apr 2009 17:32:49 +0000 (17:32 +0000)]
If defined, use TMPDIR environment variable as location for temporary files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69609
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Apr 2009 17:29:38 +0000 (17:29 +0000)]
clean up anonymous bitfield diagnostics, PR4017
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69608
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 20 Apr 2009 15:53:59 +0000 (15:53 +0000)]
Introduce the notion of a SemaConsumer, which is an ASTConsumer that
also gets access to the Sema object performing semantic analysis. This
will be used by the PCH writer to serialize Sema state.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69595
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 20 Apr 2009 15:06:07 +0000 (15:06 +0000)]
Add pch reader/writer support for ObjCMethodDecl.
Test will be enabled with ObjCInterfaceDecl is added.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69594
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 20 Apr 2009 10:09:10 +0000 (10:09 +0000)]
update the doc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69587
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 20 Apr 2009 08:23:18 +0000 (08:23 +0000)]
Some cleanup and bug-fixing for address-of checking. This causes a couple of
minor accepts-invalid regressions, but we weren't really rejecting them for
the right reason. We really need a more general solution to detect all the
cases of the promotion of arrays with a register storage class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69586
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 20 Apr 2009 07:36:26 +0000 (07:36 +0000)]
Make the on-disk hash table usable with non-file
raw_ostreams. Requires LLVM r69583.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69584
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 20 Apr 2009 07:18:49 +0000 (07:18 +0000)]
Inline GetFirstIvarInRecord into sole caller.
- No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69582
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 20 Apr 2009 07:11:47 +0000 (07:11 +0000)]
Set a bit in IMAGE_INFO to indicate that we don't contain any
@synthesized ivars for superclasses.
- <rdar://problem/
6806371 > [clang] Mark code without miscompiled
@synthesized properties
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69581
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 20 Apr 2009 07:08:21 +0000 (07:08 +0000)]
Move the on-disk hash table code into its own header. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69580
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 20 Apr 2009 06:54:31 +0000 (06:54 +0000)]
Lift out GetNamedIvarList.
Drop uses of GetFirstInvarInRecord, instead we lookup the ivars we
know are in the record.
- This is somewhat less efficient, but I need to detangle this code
first...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69579
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 20 Apr 2009 06:37:24 +0000 (06:37 +0000)]
Make FieldDecl parameter to getObjCEncodingForType... const.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69578
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 20 Apr 2009 06:35:22 +0000 (06:35 +0000)]
Remove loc::FuncVal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69577
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Apr 2009 06:26:18 +0000 (06:26 +0000)]
more stuff.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69576
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 20 Apr 2009 06:13:16 +0000 (06:13 +0000)]
Don't crash in the diagnostic printer if we happen to get passed a
null string / identifier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69575
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Apr 2009 06:00:23 +0000 (06:00 +0000)]
add a bunch of diagnostics options, add one example warning group.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69573
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 20 Apr 2009 05:53:40 +0000 (05:53 +0000)]
Don't emit ivar offsets for unnamed bit fields.
Also, added assertion that the field matches what would be looked up.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69572
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Apr 2009 05:45:34 +0000 (05:45 +0000)]
Add option groups for -Wimplicit-int and -Wimplicit.
remove special case hack for -Werror-implicit-function-declaration
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69571
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 20 Apr 2009 05:24:46 +0000 (05:24 +0000)]
get a CodeTextRegion when visiting FunctionDecl reference.
get FunctionDecl with more general utility method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69570
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Apr 2009 04:37:38 +0000 (04:37 +0000)]
slurp some content from the PTH doc into the user's doc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69569
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Apr 2009 04:23:09 +0000 (04:23 +0000)]
initial skeleton of a user's manual.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69568
91177308 -0d34-0410-b5e6-
96231b3b80d8