]>
granicus.if.org Git - clang/log
Devang Patel [Tue, 14 Jul 2009 21:31:22 +0000 (21:31 +0000)]
Revert 75648 for now. It is causing test failures.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75684
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 14 Jul 2009 20:48:22 +0000 (20:48 +0000)]
Enhance RegionStoreManager to handle 'Retrieve's from SymbolicRegions. We do this by silently wrapping the region with an ElementRegion. This fixes the failures in misc-ps-region-store.m.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75679
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Jul 2009 20:39:15 +0000 (20:39 +0000)]
fix fallout of the LLVM codegen switching to formatted_raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75675
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 14 Jul 2009 20:21:36 +0000 (20:21 +0000)]
Tweak pretty-printing of CompoundVal to make it more useful for debugging.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75672
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 14 Jul 2009 20:06:22 +0000 (20:06 +0000)]
Build AST for default ctor-initializer when constructor has
out of line definition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75668
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 14 Jul 2009 18:56:31 +0000 (18:56 +0000)]
Support data members of array type in default
ctor-initializer AST build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75662
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 14 Jul 2009 18:29:14 +0000 (18:29 +0000)]
Moved a FIXME to where it was meant to be.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75651
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 14 Jul 2009 18:25:06 +0000 (18:25 +0000)]
Introduce Type::isAnyPointerType() and convert all clients (suggested by Chris).
I don't love the name, however it simplifies the code and is a worthwhile change. If/when we come up with a better name, we can do a search/replace.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75650
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 14 Jul 2009 18:24:21 +0000 (18:24 +0000)]
Patch to build AST for ctor's initializer list according to
semantics of order of construction [class.init].
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75649
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Jul 2009 18:18:16 +0000 (18:18 +0000)]
[llvm up] adjust to match mainline.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75647
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 14 Jul 2009 17:29:11 +0000 (17:29 +0000)]
Rename RecordLayout.h to ASTRecordLayout.h
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75641
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 14 Jul 2009 16:40:28 +0000 (16:40 +0000)]
Revert r75614 which depend on r75610 (for LLVM), which was reverted.
--- Reverse-merging r75614 into '.':
U lib/CodeGen/CGDebugInfo.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75639
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 14 Jul 2009 14:58:18 +0000 (14:58 +0000)]
Add a "TypeSpecStartLoc" to FieldDecl. Patch contributed by Enea Zaffanella.
Note: One day, it might be useful to consider adding this info to DeclGroup (as the comments in FunctionDecl/VarDecl suggest). For now, I think this works fine. I considered moving this to ValueDecl (a common ancestor of FunctionDecl/VarDecl/FieldDecl), however this would add overhead to EnumConstantDecl (which would burn memory and isn't necessary).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75635
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alisdair Meredith [Tue, 14 Jul 2009 08:10:06 +0000 (08:10 +0000)]
Fix the build
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75627
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alisdair Meredith [Tue, 14 Jul 2009 06:30:34 +0000 (06:30 +0000)]
Basic support for C++0x unicode types. Support for literals will follow in an incremental patch
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75622
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Jul 2009 06:16:43 +0000 (06:16 +0000)]
use new name for method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75614
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 05:34:59 +0000 (05:34 +0000)]
Move the RUN lines on the same file but below the code, as suggested by Sebastian.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75608
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:20:38 +0000 (03:20 +0000)]
In Stmt::printPretty(), pass the SourceManager to dump().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75606
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:20:31 +0000 (03:20 +0000)]
Handle redeclarations properly at the index-test tool.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75605
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:20:21 +0000 (03:20 +0000)]
Introduce redecl_iterator, used for iterating over the redeclarations of a FunctionDecl or VarDecl.
It iterates over all the redeclarations, regardless of the starting point. For example:
1) int f();
2) int f();
3) int f();
if you have the (2) FunctionDecl and call redecls_begin/redecls_end to iterate, you'll get this sequence:
(2)
(1)
(3)
The motivation to introduce this was that, previously, if (3) was a function definition,
and you called getBody() at (2), it would not return it, since getBody() iterated over the previous declarations only,
so it would only check (2) and (1).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75604
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:20:08 +0000 (03:20 +0000)]
Introduce FunctionDecl::getLatestDeclaration() and VarDecl::getLatestDeclaration().
For multiple redeclarations they return the last one.
Also, add some non const versions of methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75603
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:19:57 +0000 (03:19 +0000)]
Introduce FunctionDecl::getFirstDeclaration() and VarDecl::getFirstDeclaration().
For multiple redeclarations they return the first one.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75602
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:19:46 +0000 (03:19 +0000)]
Add a C++ indexing test case, where we show the references of overloaded '+' plus signs.
Ok, this is a bit out of place since C++ support is way way off, but it was just too cool to not show it off :-)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75601
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:19:38 +0000 (03:19 +0000)]
For C++ overloaded operator calls, set the source location of the DeclRefExpr to the location of the operator.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75600
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:19:30 +0000 (03:19 +0000)]
For index-test, if the ASTLocation points at a CallExpr, get a Decl out of it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75599
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:19:21 +0000 (03:19 +0000)]
Read/write a CXXOperatorCallExpr from/to PCH files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75598
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:18:53 +0000 (03:18 +0000)]
Fixes for a couple of things:
- Declaration context of ParmVarDecls (that we got from the Declarator) was not their containing function.
- C++ out-of-line method definitions didn't get an access specifier.
Both were exposed by a crash when emitting a C++ method to a PCH file (assert at Decl::CheckAccessDeclContext()).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75597
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:18:40 +0000 (03:18 +0000)]
Handle struct fields through the index-test tool.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75596
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:18:25 +0000 (03:18 +0000)]
Move the test input source code to a separate file.
That way we can freely add new RUN lines without having to correct the line part in all the -point-at options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75595
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:18:17 +0000 (03:18 +0000)]
In ResolveLocationInAST, handle locations that are inside TagDecl definitions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75594
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:18:09 +0000 (03:18 +0000)]
In DeclReferenceMap, map FieldDecls to the MemberExprs that reference them.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75593
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:18:02 +0000 (03:18 +0000)]
Read/write TagDecl's RBraceLoc from/to PCH files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75592
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:17:52 +0000 (03:17 +0000)]
Pass the right brace SourceLocation from the Parser to the TagDecls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75591
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 14 Jul 2009 03:17:17 +0000 (03:17 +0000)]
Add the SourceLocation for the right brace in TagDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75590
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 14 Jul 2009 02:47:58 +0000 (02:47 +0000)]
Use LLVM mangler to get mangled name for debug info entry.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75589
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 14 Jul 2009 01:20:56 +0000 (01:20 +0000)]
Update debug info generation for ObjCObjectPointer changes.
- Previously this would crash on recursive types, and it was also incorrectly
stripping off a level of indirection.
- I'm not 100% convinced this is all correct, but it should be a monotonic
improvment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75582
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 14 Jul 2009 01:12:46 +0000 (01:12 +0000)]
Instead of recovering from a wrong invalidation, this patch aims to
invalidate the region correctly. It uses the cast-to type to invalidate
the region when available. To avoid invalid cast-to type like 'void*' or 'id',
region store now only records non-generic casts of regions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75580
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 14 Jul 2009 00:56:16 +0000 (00:56 +0000)]
I just revertd llvm patch.
XFAIL this for now until I prepare clang specific patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75575
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 14 Jul 2009 00:43:42 +0000 (00:43 +0000)]
Add basic checking for passing NULL to CFRetain/CFRelease, since those functions
are not explicitly marked as not accepting NULL pointers. This check illustrates
how we need more refactoring in the custom-check logic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75570
91177308 -0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 14 Jul 2009 00:38:16 +0000 (00:38 +0000)]
Update for API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75569
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 13 Jul 2009 23:53:06 +0000 (23:53 +0000)]
Tidy pretty-printing for SVals, using 'dump()' instead of 'printStdErr()', and implementing operator<< support for llvm::raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75560
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 13 Jul 2009 23:38:57 +0000 (23:38 +0000)]
When pretty-printing symbolic regions, use '{' ... '}' to indicate the symbol used for the region (makes it easier to read for nested regions).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75550
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 13 Jul 2009 23:31:10 +0000 (23:31 +0000)]
Fixes a minor bug in pretty printing of ctor defs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75549
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 13 Jul 2009 23:31:04 +0000 (23:31 +0000)]
Change pretty-printing API for SymExprs and MemRegions to use a naming convention and style similar to other elements in Clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75548
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 13 Jul 2009 21:55:12 +0000 (21:55 +0000)]
Enhance SimpleSValuator::EvalBinOpNN to recognize the trivial case
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75521
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 13 Jul 2009 21:50:47 +0000 (21:50 +0000)]
Explicitly initialize the options array, MinGW's gcc 4.3.5 appears to have a bug
in array value-initialization.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75518
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 13 Jul 2009 21:48:50 +0000 (21:48 +0000)]
There is no need to value initialize this array.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75517
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 13 Jul 2009 21:32:29 +0000 (21:32 +0000)]
Remove superfluous call to getAsPointerType()...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75509
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 13 Jul 2009 21:24:28 +0000 (21:24 +0000)]
Make stdin for test scripts empty, so that tests don't accidentally hang waiting
for stdin.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75506
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 13 Jul 2009 21:20:41 +0000 (21:20 +0000)]
Sema::CheckAdditionOperands(): Use Type::getPointeeType() and remove PTy and OPT variables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75505
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 13 Jul 2009 21:20:20 +0000 (21:20 +0000)]
New testcase for rev 75503.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75504
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 20:29:08 +0000 (20:29 +0000)]
add netbsd support, patch by Krister Kalfridsson!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75492
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 13 Jul 2009 20:18:13 +0000 (20:18 +0000)]
Added pretty-printing support for constructor definition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75487
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 13 Jul 2009 19:06:52 +0000 (19:06 +0000)]
- Improve comment for Type::getPointeeType().
- Remove a couple redundant casts/returns.
- Fix 80 column violations for all getAsStringInternal() methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75485
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 13 Jul 2009 17:19:15 +0000 (17:19 +0000)]
Fix 5 issues from Chris's feedback on http://llvm.org/viewvc/llvm-project?view=rev&revision=75314.
Still more to come...just wanted to get the no-brainers out of the way.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75477
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 13 Jul 2009 17:03:14 +0000 (17:03 +0000)]
Update debug info type cache after fwd decl is replaced by real decl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75473
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 13 Jul 2009 16:15:54 +0000 (16:15 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75471
91177308 -0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 13 Jul 2009 04:10:07 +0000 (04:10 +0000)]
Update for LLVM API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75446
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 00:10:46 +0000 (00:10 +0000)]
minor cleanups, reduce nesting of if's with early return.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75442
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 12 Jul 2009 23:52:11 +0000 (23:52 +0000)]
Match declaration to definition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75441
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 12 Jul 2009 22:53:49 +0000 (22:53 +0000)]
Match declaration to definition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75439
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Jul 2009 22:33:12 +0000 (22:33 +0000)]
fix file headers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75437
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Jul 2009 22:31:02 +0000 (22:31 +0000)]
fix typo in file headers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75436
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Jul 2009 22:29:59 +0000 (22:29 +0000)]
improve comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75435
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Jul 2009 21:22:10 +0000 (21:22 +0000)]
document the diagnostics pragmas, patch by Louis Gerbarg!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75432
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Jul 2009 21:18:45 +0000 (21:18 +0000)]
add push/pop semantics for diagnostics. Patch by Louis Gerbarg!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75431
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 12 Jul 2009 19:00:20 +0000 (19:00 +0000)]
Revert to using shell to find files instead of 'find', that wasn't portable.
- I think I did this commit sequence before. :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75420
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 11 Jul 2009 23:43:59 +0000 (23:43 +0000)]
Stop looking for tests in the Output/ directory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75404
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 11 Jul 2009 23:05:12 +0000 (23:05 +0000)]
The -disable-free hack didn't work...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75401
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 11 Jul 2009 23:04:43 +0000 (23:04 +0000)]
Force NeXT runtime for this test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75400
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 11 Jul 2009 23:03:07 +0000 (23:03 +0000)]
Remove excessive use of Carbon.h / Cocoa.h in clang tests.
- These kinds of "shotgun" tests are very slow, and do not belong in the
regression suite. If these kinds of tests are regarded to have value, they
should be added to the LLVM test-suite.
- I would actually like to remove all of these tests, but I left Sema/carbon.c
and SemaObjC/cocoa.m...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75399
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 11 Jul 2009 22:46:27 +0000 (22:46 +0000)]
Add --time-tests option to test runner, for profiling 'make test'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75396
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 11 Jul 2009 22:44:48 +0000 (22:44 +0000)]
Fix comment, and reduce computational expense of this test.
- I don't see any need for it to be this expensive.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75395
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 11 Jul 2009 22:00:53 +0000 (22:00 +0000)]
Add -disable-free to this test in the hopes if having it pass on Linux for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75390
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 11 Jul 2009 21:12:14 +0000 (21:12 +0000)]
Fix type conversion of ObjCObjectPointerType.
- Previous code was based on a misunderstanding (on my part) of the type
representation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75385
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 11 Jul 2009 20:32:50 +0000 (20:32 +0000)]
Generate correct prototype for objc_enumerationMutation.
- This was a latent bug exposed by the recent objc type changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75383
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 11 Jul 2009 20:17:35 +0000 (20:17 +0000)]
Fix test case to match intent.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75381
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Sat, 11 Jul 2009 18:34:43 +0000 (18:34 +0000)]
restore proper valgrind support.
disclaim: I know nothing about Python, so apologies in advance if I break something
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75368
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alisdair Meredith [Sat, 11 Jul 2009 14:32:10 +0000 (14:32 +0000)]
Fix breakage on Windows, cannot redeclare loop variable i in the immediate scope of loop. Rename variable to j.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75365
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 11 Jul 2009 04:38:49 +0000 (04:38 +0000)]
Handle insidious corner case exposed by RegionStoreManager when handling void* values that are bound
to symbolic regions and then treated like integers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75356
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 11 Jul 2009 02:33:35 +0000 (02:33 +0000)]
remove duplicated test cast.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75329
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 11 Jul 2009 01:00:52 +0000 (01:00 +0000)]
Fix a test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75327
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 11 Jul 2009 00:58:27 +0000 (00:58 +0000)]
Restructure RegionStoreManager::EvalBinOp() as a switch dispatch over different
MemRegion kinds. This allows the compiler to identify what MemRegions we don't
handle for pointer arithmetic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75326
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 11 Jul 2009 00:57:02 +0000 (00:57 +0000)]
Fix typo (found by gcc warning).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75325
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 11 Jul 2009 00:55:33 +0000 (00:55 +0000)]
Add another test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75324
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 11 Jul 2009 00:34:39 +0000 (00:34 +0000)]
Implement more of C++0x 'auto'. A variable with an auto type specifier must have an initializer. Also, move some tests around to match the C++0x draft better.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75322
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 11 Jul 2009 00:21:48 +0000 (00:21 +0000)]
Fix warning when compiling with optimizations:
warning: ‘OPT’ may be used uninitialized in this function
Now OPT is initialized to NULL. I'm not certain if this is the correct fix;
others please review.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75321
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 11 Jul 2009 00:07:06 +0000 (00:07 +0000)]
This test passes with RegionStoreManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75318
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 11 Jul 2009 00:03:23 +0000 (00:03 +0000)]
This test now passes with RegionStoreManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75316
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 10 Jul 2009 23:48:10 +0000 (23:48 +0000)]
Remove some unused code from an experiment that I didn't like.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75315
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Fri, 10 Jul 2009 23:34:53 +0000 (23:34 +0000)]
This patch includes a conceptually simple, but very intrusive/pervasive change.
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75314
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Jul 2009 22:30:06 +0000 (22:30 +0000)]
Restructure RegionStoreManager::getSizeInElements() to use a switch statement
over the types of MemRegions. This allows the compiler to warn us which regions
are not handled, and also is a little faster.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 10 Jul 2009 22:27:56 +0000 (22:27 +0000)]
Fix silly mistake I made applying patch to fix test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Jul 2009 21:48:43 +0000 (21:48 +0000)]
Rename test file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75297
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Jul 2009 21:48:10 +0000 (21:48 +0000)]
RegionStoreManager also passes this test file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75296
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Jul 2009 21:45:10 +0000 (21:45 +0000)]
RegionStoreManager now correctly passes this test file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75295
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Jul 2009 21:43:30 +0000 (21:43 +0000)]
Test case in test/Analysis/xfail_regionstore_wine_crash.c no longer fails, so
move this case to 'test/Analysis/misc-ps.m' to test with both BasicStoreManager
and RegionStoreManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75294
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 10 Jul 2009 21:35:09 +0000 (21:35 +0000)]
Fix type of 'this' and add a decltype test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75291
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Jul 2009 21:24:45 +0000 (21:24 +0000)]
Revert r75281 and simply remove the assertion in NewCastRegion that
CodeTextRegions can only be casted to FunctionPointer or BlockPointerTypes. This
simply isn't true. We can handle bogus operations on CodeTextRegions (e.g, an
array access) elsewhere.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75285
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Jul 2009 21:11:16 +0000 (21:11 +0000)]
Fix crash in StoreManager::NewCastRegion regarding handling casts to void*,
void**, void***, etc. Such casts should just pass the region through.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75281
91177308 -0d34-0410-b5e6-
96231b3b80d8