summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* implement support for __builtin_eh_return_data_regno on x86-32 and x86-64.Chris Lattner2009-09-234-3/+38
| | | | | | This implements PR5034 and rdar://6836445. llvm-svn: 82614
* Add a new variant of EmitCXXAggrConstructorCall that takes a Value that ↵Anders Carlsson2009-09-232-22/+31
| | | | | | holds the number of elements to construct, to be used when implementing new[]. llvm-svn: 82602
* Fix PR 4988 by removing an invalid assertion (a function can be referenced inTed Kremenek2009-09-231-1/+1
| | | | | | GRExprEngine::VisitDeclRefExpr without 'asLValue' being true). llvm-svn: 82598
* Produce detailed diagnostics when overloadFariborz Jahanian2009-09-232-6/+37
| | | | | | | resolution failed to select a candidate due to ambiguity in type conversion function selection. llvm-svn: 82596
* Cast the array size expr to a size_tAnders Carlsson2009-09-231-1/+4
| | | | llvm-svn: 82594
* Print the results of code-completion for overloading by displaying theDouglas Gregor2009-09-232-20/+66
| | | | | | | signature of the function with the current parameter highlighted as a placeholder. llvm-svn: 82593
* Separate the code-completion results for call completion from theDouglas Gregor2009-09-232-7/+69
| | | | | | | | results for other, textual completion. For call completion, we now produce enough information to show the function call argument that we are currently on. llvm-svn: 82592
* Make sure we don't try to add code-completion results without anDouglas Gregor2009-09-221-0/+10
| | | | | | active shadow map. llvm-svn: 82588
* When code-completion finds a declaration only because it is usable asDouglas Gregor2009-09-221-1/+8
| | | | | | | the start of a nested-name-specifier, add the "::" after the nested-name-specifier to the code-completion string. llvm-svn: 82587
* Tweak the code-completion results ranking and formation, so thatDouglas Gregor2009-09-222-39/+68
| | | | | | | | | | | members found in base classes have the same ranking as members found in derived classes. However, we will introduce an informative note for members found in base classes, showing (as a nested-name-specifier) the qualification to name the base class, to make it clear which members are from bases. llvm-svn: 82586
* Move codegen of new and delete to CGCXXExpr.cppAnders Carlsson2009-09-223-187/+204
| | | | llvm-svn: 82585
* Remove now fixed FIXME.Mike Stump2009-09-221-1/+0
| | | | llvm-svn: 82584
* Push "clang-is-production" logic up to tools/driver, and make it hittable byDaniel Dunbar2009-09-221-13/+15
| | | | | | defining the CLANG_IS_PRODUCTION Makefile variable. llvm-svn: 82583
* No need to null check implicit lvalue cast exprs.Anders Carlsson2009-09-221-8/+15
| | | | llvm-svn: 82580
* When doing a derived-to-base class and the class offset is 0 we can just do ↵Anders Carlsson2009-09-221-7/+10
| | | | | | a simple bitcast. llvm-svn: 82579
* Reconcile Clang/ARM target data string with llvm-gcc (module eabi weirdness).Daniel Dunbar2009-09-221-3/+20
| | | | llvm-svn: 82578
* Teach code-completion to introduce a ", ..." placeholder for variadic functionsDouglas Gregor2009-09-221-0/+5
| | | | llvm-svn: 82577
* In C++, a variadic function does not need an ellipsis prior to the comma. ↵Douglas Gregor2009-09-221-1/+16
| | | | | | Parse it in both C and C++, but diagnose it as an error in C with a fix-it hint to add the comma. llvm-svn: 82576
* Fix: <rdar://problem/7242006> [RegionStore] compound literal assignment with ↵Ted Kremenek2009-09-222-4/+6
| | | | | | floats not honored llvm-svn: 82575
* Replace the -code-completion-dump option with Douglas Gregor2009-09-223-19/+100
| | | | | | | | | | | -code-completion-at=filename:line:column which performs code completion at the specified location by truncating the file at that position and enabling code completion. This approach makes it possible to run multiple tests from a single test file, and gives a more natural command-line interface. llvm-svn: 82571
* CXXMethodDecls should always be mangled, even if they are inside an extern ↵Anders Carlsson2009-09-221-1/+4
| | | | | | "C" block. Fixes PR5017. llvm-svn: 82567
* Code refactoring and cleanup.Fariborz Jahanian2009-09-222-22/+25
| | | | llvm-svn: 82566
* Issue good ambiguity diagnostic when convesion fails.Fariborz Jahanian2009-09-221-7/+16
| | | | llvm-svn: 82565
* If we already set a primary base, don't set it to the first nearly empty ↵Anders Carlsson2009-09-221-2/+2
| | | | | | base class. llvm-svn: 82563
* Fix speling error.Anders Carlsson2009-09-221-1/+1
| | | | llvm-svn: 82562
* Explicitly initialize the PrimaryBase and PrimaryBaseWasVirtual members.Anders Carlsson2009-09-221-5/+3
| | | | llvm-svn: 82560
* Yes.Mike Stump2009-09-221-1/+0
| | | | llvm-svn: 82559
* (With Doug's help) fix a crash in the code completion code that lead to a ↵Anders Carlsson2009-09-221-0/+3
| | | | | | test failure. llvm-svn: 82558
* Don't assert that linkage decls are always C++, it's not true. Fixes PR5019.Anders Carlsson2009-09-221-4/+1
| | | | llvm-svn: 82557
* Fix a regression in accessing class getter using the dot-syntaxFariborz Jahanian2009-09-221-55/+57
| | | | | | | | notation. There is still an issue accessing field of a 'Class''s isa in legacy code using dot field access notation (as noted in the test case) but unrelated to this patch. llvm-svn: 82555
* Implement code completion within a function call, triggered after theDouglas Gregor2009-09-225-138/+340
| | | | | | | | | | | | | | | | | | | | | opening parentheses and after each comma. We gather the set of visible overloaded functions, perform "partial" overloading based on the set of arguments that we have thus far, and return the still-viable results sorted by the likelihood that they will be the best candidate. Most of the changes in this patch are a refactoring of the overloading routines for a function call, since we needed to separate out the notion of building an overload set (common to code-completion and normal semantic analysis) and then what to do with that overload set. As part of this change, I've pushed explicit template arguments into a few more subroutines. There is still much more work to do in this area. Function templates won't be handled well (unless we happen to deduce all of the template arguments before we hit the completion point), nor will overloaded function-call operators or calls to member functions. llvm-svn: 82549
* 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
OpenPOWER on IntegriCloud