summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Spell function pointer correctly.Daniel Dunbar2009-09-221-1/+1
| | | | llvm-svn: 82543
* Add safe part of previous (reverted) commit, necessary to update to LLVM API ↵Daniel Dunbar2009-09-221-1/+1
| | | | | | change. llvm-svn: 82540
* Revert "Switch a few clients over to StringLiteral::getString.", this is ↵Daniel Dunbar2009-09-223-13/+22
| | | | | | breaking some projects, but I don't have a test case yet. llvm-svn: 82539
* Update PCH serialization of FunctionDecl flags.Daniel Dunbar2009-09-222-0/+6
| | | | llvm-svn: 82526
* Allow PCH files to be read from stdin.Daniel Dunbar2009-09-221-1/+6
| | | | llvm-svn: 82525
* Fix: <rdar://problem/7242015> [RegionStore] variable passed-by-reference ↵Ted Kremenek2009-09-221-8/+9
| | | | | | (via integer) to function call not invalidated llvm-svn: 82523
* Switch a few clients over to StringLiteral::getString.Daniel Dunbar2009-09-223-22/+13
| | | | | | - Switching all of them out-of-my-current-scope-of-interest, sorry. llvm-svn: 82515
* Add StringLiteral::getString -> StringRef.Daniel Dunbar2009-09-222-6/+6
| | | | llvm-svn: 82514
* Store the set of indirect primary bases directly in the record layout builder.Anders Carlsson2009-09-222-44/+54
| | | | llvm-svn: 82513
* Fix some typos. WIP. Large alignments don't work yet.Mike Stump2009-09-221-3/+3
| | | | llvm-svn: 82512
* Fix doc.Mike Stump2009-09-221-1/+1
| | | | llvm-svn: 82511
* Improve debug info generation for __block variables.Mike Stump2009-09-224-29/+156
| | | | llvm-svn: 82508
* Record layout builder cleanup.Anders Carlsson2009-09-222-22/+11
| | | | llvm-svn: 82502
* Change all the Type::getAsFoo() methods to specializations of Type::getAs().John McCall2009-09-2144-405/+273
| | | | | | | | | | | 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
* Removed -fobjc-newgc-api option. clang now conforms toFariborz Jahanian2009-09-211-2/+1
| | | | | | gcc-style write-barrier api only. llvm-svn: 82493
* Provide intermediate solution to handling assignments to structs via anTed Kremenek2009-09-211-0/+4
| | | | | | | | 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
* Code completion for ordinary names when we're starting a declaration, ↵Douglas Gregor2009-09-216-0/+43
| | | | | | expression, or statement llvm-svn: 82481
* When providing a code-completion suggestion for a hidden name, includeDouglas Gregor2009-09-211-73/+94
| | | | | | | | | | | | | | 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
* Enhance "case" code completion in C++ to suggest qualified names forDouglas Gregor2009-09-211-12/+91
| | | | | | | | | 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
* Miscellanous fixes in generatation of objc gc's write-barriers.Fariborz Jahanian2009-09-212-22/+18
| | | | llvm-svn: 82472
* Code completion for "case" statements within a switch on an expressionDouglas Gregor2009-09-213-0/+79
| | | | | | of enumeration type, providing the various unused enumerators as options. llvm-svn: 82467
* Refactor and simplify the CodeCompleteConsumer, so that all of theDouglas Gregor2009-09-215-882/+932
| | | | | | | real work is performed within Sema. Addresses Chris's comments, but still retains the heavyweight list-of-multimaps data structure. llvm-svn: 82459
* Add missing PCH support for -fstack-protector.Daniel Dunbar2009-09-212-1/+7
| | | | llvm-svn: 82435
* Implement __builtin_unreachable(), a GCC 4.5 extension.Chris Lattner2009-09-211-1/+6
| | | | llvm-svn: 82433
* Change ASTUnit to only initialize the predefines buffer to the suggested ↵Daniel Dunbar2009-09-211-1/+1
| | | | | | | | predefines. - It isn't really clear what to do with the preprocessor here, but this is more sensible. llvm-svn: 82431
* Change ASTUnit to take the Diagnostic as an argument, the client should have ↵Daniel Dunbar2009-09-211-15/+7
| | | | | | control of this. llvm-svn: 82430
* Start mangling expressions.Anders Carlsson2009-09-211-3/+41
| | | | llvm-svn: 82423
* Ok, an AssertingVH definitely doesn't work for now because we free our cache ↵Daniel Dunbar2009-09-192-4/+7
| | | | | | after the optimizer may have hacked on the module. Use a WeakVH instead. llvm-svn: 82324
* Make clang stop relying on ConstantStruct::get's default value for isPackedNick Lewycky2009-09-194-19/+21
| | | | | | which will be going away (ie. it's becoming a required parameter) later today. llvm-svn: 82323
* Switch CGDebugInfo type cache to using an AssertingVH.Daniel Dunbar2009-09-192-19/+23
| | | | llvm-svn: 82321
* Factor out CGDebugInfo::CreateTypeNode method.Daniel Dunbar2009-09-192-24/+38
| | | | | | - No functionality change. llvm-svn: 82320
* In C++ code completion, only suggest the "template" keyword after ".",Douglas Gregor2009-09-181-4/+18
| | | | | | | "->", 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
* Make the construction of the code-completion string for a functionDouglas Gregor2009-09-183-10/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Introduce code completion patterns for templates, which provide theDouglas Gregor2009-09-181-0/+88
| | | | | | angle brackets < > along with placeholder template arguments. llvm-svn: 82304
* Re-introduce diagnostic caching in BugReporter that was originally added inTed Kremenek2009-09-181-0/+47
| | | | | | | r82198 and then reverted. This is an intermediate solution, as diagnostic caching should not rely on static variables. llvm-svn: 82301
* Reintroduce FoldingSet profiling for PathDiagnostics.Ted Kremenek2009-09-181-0/+62
| | | | llvm-svn: 82299
* Fix regression introduced by r82198 that caused functions/methods with ↵Ted Kremenek2009-09-181-1/+6
| | | | | | invalid CFGs to get analyzed. llvm-svn: 82297
* Introduce code completion strings, which describe how to *use* theDouglas Gregor2009-09-181-2/+131
| | | | | | | results of code completion, e.g., by providing function call syntax with placeholders for each of the parameters. llvm-svn: 82293
* More mangling work.Anders Carlsson2009-09-181-7/+9
| | | | llvm-svn: 82265
* C++ code completion after the "operator" keyword. Provide overloadedDouglas Gregor2009-09-184-1/+95
| | | | | | operators, type specifiers, type names, and nested-name-specifiers. llvm-svn: 82264
* Make the mangler conform even better to the grammar.Anders Carlsson2009-09-181-12/+8
| | | | llvm-svn: 82262
* Make our char vector types not be explicitly signed to match GCC and to fix ↵Anders Carlsson2009-09-182-2/+2
| | | | | | compilation with C++ and -fno-lax-vector-conversions llvm-svn: 82254
* Generate more of the vbase virtual offset for covariant thunks. WIP.Mike Stump2009-09-181-8/+72
| | | | llvm-svn: 82253
* Introduce four new code-completion hooks for C++:Douglas Gregor2009-09-184-2/+122
| | | | | | | | | | - after "using", show anything that can be a nested-name-specifier. - after "using namespace", show any visible namespaces or namespace aliases - after "namespace", show any namespace definitions in the current scope - after "namespace identifier = ", show any visible namespaces or namespace aliases llvm-svn: 82251
* More mangler mangling.Anders Carlsson2009-09-181-12/+26
| | | | llvm-svn: 82250
* Call mangleTemplatePrefix.Anders Carlsson2009-09-181-5/+7
| | | | llvm-svn: 82247
* Change manglePrefix to return early if the DC is the translation unit.Anders Carlsson2009-09-181-2/+4
| | | | llvm-svn: 82246
* Don't perform name lookup into a given declaration context more than once ↵Douglas Gregor2009-09-181-4/+31
| | | | | | during code completion llvm-svn: 82234
* Handle using declarations and overload sets in code completion.Douglas Gregor2009-09-181-2/+15
| | | | llvm-svn: 82233
* For code completion in C++ member access expressions and tag names,Douglas Gregor2009-09-181-9/+32
| | | | | | | | | | | | | look into the current scope for anything that could start a nested-names-specifier. These results are ranked worse than any of the results actually found in the lexical scope. Perform a little more pruning of the result set, eliminating constructors, __va_list_tag, and any duplication of declarations in the result set. For the latter, implemented NamespaceDecl::getCanonicalDecl. llvm-svn: 82231
OpenPOWER on IntegriCloud