Daniel Dunbar
3967fca364
CMake: Add a clang-c++tests target for running the experimental C++ header
...
-fsyntax-only'ing tests.
llvm-svn: 82541
2009-09-22 10:07:55 +00:00
Daniel Dunbar
95d5a1d240
Add safe part of previous (reverted) commit, necessary to update to LLVM API change.
...
llvm-svn: 82540
2009-09-22 10:06:21 +00:00
Daniel Dunbar
b879c3c125
Revert "Switch a few clients over to StringLiteral::getString.", this is breaking some projects, but I don't have a test case yet.
...
llvm-svn: 82539
2009-09-22 10:03:52 +00:00
Daniel Dunbar
b45012dcde
Update PCH serialization of FunctionDecl flags.
...
llvm-svn: 82526
2009-09-22 05:38:14 +00:00
Daniel Dunbar
2d925ebd0a
Allow PCH files to be read from stdin.
...
llvm-svn: 82525
2009-09-22 05:38:01 +00:00
Daniel Dunbar
b5cbf77c2e
Remove old test runner, this has moved to LLVM/utils/lit and all known clients
...
have been updated.
- Please let me know of any problems.
llvm-svn: 82524
2009-09-22 05:16:02 +00:00
Ted Kremenek
f9539d0c3f
Fix: <rdar://problem/7242015> [RegionStore] variable passed-by-reference (via integer) to function call not invalidated
...
llvm-svn: 82523
2009-09-22 04:48:39 +00:00
Daniel Dunbar
0512647362
Force triple in test.
...
llvm-svn: 82519
2009-09-22 03:50:39 +00:00
Ted Kremenek
ece8524474
Update checker build.
...
llvm-svn: 82518
2009-09-22 03:38:38 +00:00
Daniel Dunbar
5de27daf93
Switch a few clients over to StringLiteral::getString.
...
- Switching all of them out-of-my-current-scope-of-interest, sorry.
llvm-svn: 82515
2009-09-22 03:27:52 +00:00
Daniel Dunbar
362178883c
Add StringLiteral::getString -> StringRef.
...
llvm-svn: 82514
2009-09-22 03:27:33 +00:00
Anders Carlsson
8143069417
Store the set of indirect primary bases directly in the record layout builder.
...
llvm-svn: 82513
2009-09-22 03:02:06 +00:00
Mike Stump
207c680ff3
Fix some typos. WIP. Large alignments don't work yet.
...
llvm-svn: 82512
2009-09-22 02:44:17 +00:00
Mike Stump
8ce0ea1360
Fix doc.
...
llvm-svn: 82511
2009-09-22 02:43:44 +00:00
Daniel Dunbar
a25a9dff0d
Add test case for PR4894 (it was fixed in LLVM).
...
llvm-svn: 82510
2009-09-22 02:18:40 +00:00
Daniel Dunbar
1da62f5723
This FIXME is done.
...
llvm-svn: 82509
2009-09-22 02:17:27 +00:00
Mike Stump
2114d7c299
Improve debug info generation for __block variables.
...
llvm-svn: 82508
2009-09-22 02:12:52 +00:00
Anders Carlsson
d6020c321a
Record layout builder cleanup.
...
llvm-svn: 82502
2009-09-22 00:04:45 +00:00
John McCall
9dd450bb78
Change all the Type::getAsFoo() methods to specializations of Type::getAs().
...
Several of the existing methods were identical to their respective
specializations, and so have been removed entirely. Several more 'leaf'
optimizations were introduced.
The getAsFoo() methods which imposed extra conditions, like
getAsObjCInterfacePointerType(), have been left in place.
llvm-svn: 82501
2009-09-21 23:43:11 +00:00
Ted Kremenek
fd68c7bdc0
Add test case for <rdar://problem/6829164>, which was implicitly fixed in r79694.
...
llvm-svn: 82495
2009-09-21 23:22:11 +00:00
Fariborz Jahanian
71848a3ff1
Removed -fobjc-newgc-api option. clang now conforms to
...
gcc-style write-barrier api only.
llvm-svn: 82493
2009-09-21 23:03:37 +00:00
Ted Kremenek
25c9c1427a
Provide intermediate solution to handling assignments to structs via an
...
integer pointer. For now just invalidate the fields of the struct.
This addresses: <rdar://problem/7185607> [RegionStore] support invalidation of bit fields using integer assignment
llvm-svn: 82492
2009-09-21 22:58:52 +00:00
Douglas Gregor
ac9b61375d
Another code-completion TODO
...
llvm-svn: 82482
2009-09-21 20:52:01 +00:00
Douglas Gregor
9d64c5e3a5
Code completion for ordinary names when we're starting a declaration, expression, or statement
...
llvm-svn: 82481
2009-09-21 20:51:25 +00:00
Fariborz Jahanian
a74039426d
-fobjc-newgc-api is now the default.
...
llvm-svn: 82478
2009-09-21 20:17:37 +00:00
Douglas Gregor
2af2f670d1
When providing a code-completion suggestion for a hidden name, include
...
a nested-name-specifier that describes how to refer to that name. For
example, given:
struct Base { int member; };
struct Derived : Base { int member; };
the code-completion result for a member access into "Derived" will
provide both "member" to refer to Derived::member (no qualification needed) and
"Base::member" to refer to Base::member (qualification included).
llvm-svn: 82476
2009-09-21 20:12:40 +00:00
Douglas Gregor
f251067530
Enhance "case" code completion in C++ to suggest qualified names for
...
enumerators when either the user intentionally wrote a qualified name
(in which case we just use that nested-name-specifier to match
the user's code) or when this is the first "case" statement and we
need a qualified name to refer to an enumerator in a different scope.
llvm-svn: 82474
2009-09-21 19:57:38 +00:00
Fariborz Jahanian
38c3ae9bc4
Miscellanous fixes in generatation of objc gc's write-barriers.
...
llvm-svn: 82472
2009-09-21 18:54:29 +00:00
Douglas Gregor
d328d57c39
Code completion for "case" statements within a switch on an expression
...
of enumeration type, providing the various unused enumerators as options.
llvm-svn: 82467
2009-09-21 18:10:23 +00:00
Douglas Gregor
3545ff43f4
Refactor and simplify the CodeCompleteConsumer, so that all of the
...
real work is performed within Sema. Addresses Chris's comments, but
still retains the heavyweight list-of-multimaps data structure.
llvm-svn: 82459
2009-09-21 16:56:56 +00:00
Daniel Dunbar
607a2a1ed1
Add an XFAIL test which compiles differently from a .ast.
...
llvm-svn: 82437
2009-09-21 05:16:43 +00:00
Daniel Dunbar
143021e0ca
Add missing PCH support for -fstack-protector.
...
llvm-svn: 82435
2009-09-21 04:16:19 +00:00
Chris Lattner
bf20638966
Implement __builtin_unreachable(), a GCC 4.5 extension.
...
llvm-svn: 82433
2009-09-21 03:09:59 +00:00
Daniel Dunbar
26e37a77c6
Switch ProcessASTInputFile to still use ParseAST.
...
- Currently this requires us to fake an input file.
- This allows Sema to be keep all the logic for how to pull decls out of the external AST source and how to handle things like tentative definitions.
llvm-svn: 82432
2009-09-21 03:03:56 +00:00
Daniel Dunbar
b7bbfdd9e6
Change ASTUnit to only initialize the predefines buffer to the suggested predefines.
...
- It isn't really clear what to do with the preprocessor here, but this is more sensible.
llvm-svn: 82431
2009-09-21 03:03:47 +00:00
Daniel Dunbar
7cd285f0fe
Change ASTUnit to take the Diagnostic as an argument, the client should have control of this.
...
llvm-svn: 82430
2009-09-21 03:03:39 +00:00
Daniel Dunbar
948062a592
Add Diagnostic to Indexer, and have it keep its own FileManager instead of taking an external reference (which was leaked in the case of the CIndex library).
...
llvm-svn: 82429
2009-09-21 03:03:22 +00:00
Anders Carlsson
a18322cea5
Start mangling expressions.
...
llvm-svn: 82423
2009-09-21 01:21:10 +00:00
Daniel Dunbar
1d9b45304d
Work around FileCheck -NOT restriction.
...
llvm-svn: 82417
2009-09-20 23:35:52 +00:00
Daniel Dunbar
22d5360ed0
Switch TestRunner.sh to just use 'lit'.
...
- Does people use this?
llvm-svn: 82406
2009-09-20 22:00:23 +00:00
Daniel Dunbar
c6bca95723
Switch to using the new LLVM lit test runner by default.
...
llvm-svn: 82405
2009-09-20 22:00:17 +00:00
Daniel Dunbar
a173d9b874
Include LLVM {src,obj} root in lit.site.cfg, to support non-standard layouts.
...
llvm-svn: 82401
2009-09-20 19:04:35 +00:00
Chris Lattner
78765c36de
switch command line 'parse' methods to use StringRef for efficiency, which
...
is also required for an llvm-side change.
llvm-svn: 82344
2009-09-20 00:39:15 +00:00
Daniel Dunbar
9996138a80
Ok, an AssertingVH definitely doesn't work for now because we free our cache after the optimizer may have hacked on the module. Use a WeakVH instead.
...
llvm-svn: 82324
2009-09-19 20:17:48 +00:00
Nick Lewycky
41eaf0ac57
Make clang stop relying on ConstantStruct::get's default value for isPacked
...
which will be going away (ie. it's becoming a required parameter) later today.
llvm-svn: 82323
2009-09-19 20:00:52 +00:00
Daniel Dunbar
1cbaae56cf
Switch CGDebugInfo type cache to using an AssertingVH.
...
llvm-svn: 82321
2009-09-19 19:27:24 +00:00
Daniel Dunbar
de870bdcf2
Factor out CGDebugInfo::CreateTypeNode method.
...
- No functionality change.
llvm-svn: 82320
2009-09-19 19:27:14 +00:00
Benjamin Kramer
dad401dbc1
Simplify code with a StringRef.
...
llvm-svn: 82308
2009-09-19 08:02:46 +00:00
Douglas Gregor
b5c738b434
In C++ code completion, only suggest the "template" keyword after ".",
...
"->", or "::" if we will be looking into a dependent context. It's not
wrong to use the "template" keyword, but it's to needed, either.
llvm-svn: 82307
2009-09-18 23:55:56 +00:00
Douglas Gregor
ce23bae4f8
Make the construction of the code-completion string for a function
...
template smarter, by taking into account which function template
parameters are deducible from the call arguments. For example,
template<typename RandomAccessIterator>
void sort(RandomAccessIterator first, RandomAccessIterator last);
will have a code-completion string like
sort({RandomAccessIterator first}, {RandomAccessIterator last})
since the template argument for its template parameter is
deducible. On the other hand,
template<class X, class Y>
X* dyn_cast(Y *Val);
will have a code-completion string like
dyn_cast<{class X}>({Y *Val})
since the template type parameter X is not deducible from the function
call.
llvm-svn: 82306
2009-09-18 23:21:38 +00:00