summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Move ComputeThisAdjustmentBaseOffset to VtableBuilder.Anders Carlsson2010-02-271-61/+61
| | | | llvm-svn: 97340
* Make sure to insert the primary base in the set :)Anders Carlsson2010-02-271-0/+3
| | | | llvm-svn: 97339
* Use the real base offset when calculating vbase offsets.Anders Carlsson2010-02-271-1/+1
| | | | llvm-svn: 97338
* Figured out why the test was failing, this will hopefully fix it.Anders Carlsson2010-02-271-3/+9
| | | | llvm-svn: 97336
* Don't add this adjustments for pure virtual member functions.Anders Carlsson2010-02-271-2/+6
| | | | llvm-svn: 97334
* We want to store method info for unused functions.Anders Carlsson2010-02-271-10/+20
| | | | llvm-svn: 97333
* Revert 97324. Chris says this cleanup could hurt -E performance.Benjamin Kramer2010-02-271-8/+24
| | | | llvm-svn: 97331
* Move method out-of-line. I thought this would be a candidate for inlining ↵Benjamin Kramer2010-02-271-1/+18
| | | | | | but I was wrong. llvm-svn: 97330
* Finish up the changes to this adjustments.Anders Carlsson2010-02-271-37/+102
| | | | llvm-svn: 97328
* Another trivial getSpelling simplification.Benjamin Kramer2010-02-271-4/+2
| | | | llvm-svn: 97327
* Stub out more of the 'this' pointer adjustment fixes I've been planning. ↵Anders Carlsson2010-02-271-13/+36
| | | | | | Start using a set vector for primary bases so they will be ordered. llvm-svn: 97326
* Simplify code.Benjamin Kramer2010-02-271-24/+8
| | | | llvm-svn: 97324
* Add an overload of Preprocessor::getSpelling which takes a SmallVector andBenjamin Kramer2010-02-278-39/+16
| | | | | | returns a StringRef. Use it to simplify some repetitive code. llvm-svn: 97322
* Fix crasher caused by setting a bit in a possibly empty bitvector whileTed Kremenek2010-02-271-1/+6
| | | | | | doing printf format string checking. This is a recent regression. llvm-svn: 97318
* Fix another vtable layout bug; we weren't looking hard enough for overriden ↵Anders Carlsson2010-02-271-8/+40
| | | | | | functions when determining if an overrider will ever be used. llvm-svn: 97306
* Handle vcall offset sharing between destructors.Anders Carlsson2010-02-271-3/+7
| | | | llvm-svn: 97304
* Fix a bug where we were generating an unnecessary vtable for a virtual base ↵Anders Carlsson2010-02-271-9/+37
| | | | | | that's already a primary virtual base. llvm-svn: 97303
* Robustify SourceManager::getLocation(), so that it returns anDouglas Gregor2010-02-271-14/+18
| | | | | | | | | end-of-line source location when given a column number beyond the length of the line, or an end-of-file source location when given a line number beyond the length of the file. Previously, we would return an invalid location. llvm-svn: 97299
* For printf format string checking, add support for positional format strings.Ted Kremenek2010-02-272-35/+187
| | | | | | Along the way, coelesce some of the diagnostics. llvm-svn: 97297
* When given unsaved files in clang_createTranslationUnitFromSourceFile,Douglas Gregor2010-02-272-1/+3
| | | | | | | | | | copy the source buffers provided rather than referencing them directly, so that the caller can free those buffers immediately after calling clang_createTranslationUnitFromSourceFile(). Otherwise, we risk hitting those buffers later (when building source ranges, forming diagnostics, etc.). llvm-svn: 97296
* Skip dependent virtual base classes; fixes PR6413.Douglas Gregor2010-02-272-4/+8
| | | | llvm-svn: 97291
* At sabre's request, drop the FP bounds diagnostics down to warnings and fileJohn McCall2010-02-261-2/+2
| | | | | | them under -Wbad-literal. They're still on by default. llvm-svn: 97284
* Prevent rewriter crash when variable type is missing.Fariborz Jahanian2010-02-261-0/+4
| | | | | | Fixes radar 7692183. llvm-svn: 97281
* Minor cleanup of the rewriter.Fariborz Jahanian2010-02-261-18/+22
| | | | llvm-svn: 97280
* Removed some unused code in rewriter.Fariborz Jahanian2010-02-261-28/+2
| | | | llvm-svn: 97274
* Sundry fixes to the new vtable builder.John McCall2010-02-261-13/+33
| | | | llvm-svn: 97258
* Fix rewriting of byref variables in nested blocks.Fariborz Jahanian2010-02-261-2/+9
| | | | | | Fixes radar 7692350. llvm-svn: 97254
* fix rdar://7683173, rejecting an invalid conditionalChris Lattner2010-02-261-1/+1
| | | | llvm-svn: 97253
* For printf format string checking, move the tracking of the data argument ↵Ted Kremenek2010-02-262-41/+76
| | | | | | | | | index out of Sema and into analyze_printf::ParseFormatString(). Also use a bitvector to determine what arguments have been covered (instead of just checking to see if the last argument consumed is the max argument). This is prep. for support positional arguments (an IEEE extension). llvm-svn: 97248
* Rewriting of imported variable from outerFariborz Jahanian2010-02-261-0/+1
| | | | | | | blocks's argument in the inner block requires special treatment. Fixes radar 7692419. llvm-svn: 97244
* Use a GDM to record the returned expression in the state when VisitReturnStmt.Zhongxing Xu2010-02-261-10/+28
| | | | | | | | | | | Use this information to find the returned value and bind it to CallExpr in ProcessCallExit. And there is no need to remove dead bindings in ProcessCallExit, because a. it would clean up the return value bound to CallExpr b. we still would do it in the next ProcessStmt(), where we would not misclean up the return value. llvm-svn: 97225
* Fix an assertion-on-error during tentative constructor parsing byJohn McCall2010-02-266-75/+107
| | | | | | | | | | propagating error conditions out of the various annotate-me-a-snowflake routines. Generally (but not universally) removes redundant diagnostics as well as, you know, not crashing on bad code. On the other hand, I have just signed myself up to fix fiddly parser errors for the next week. Again. llvm-svn: 97221
* An explicit specialization is allowed following an explicitDouglas Gregor2010-02-261-7/+41
| | | | | | | instantiation so long as that explicit specialization was declared previously. Fixes PR6160. llvm-svn: 97210
* Implement semantic analysis for C++ [expr.new]p18-20, which describeDouglas Gregor2010-02-262-3/+140
| | | | | | | | | | how we find the operator delete that matches withe operator new we found in a C++ new-expression. This will also need CodeGen support. On a happy note, we're now a "nans" away from building tramp3d-v4. llvm-svn: 97209
* Remove derelict GRStmtNodeBuilder::LastNode.Zhongxing Xu2010-02-262-5/+3
| | | | llvm-svn: 97207
* Support rewriting of property synthesis with retain/copyFariborz Jahanian2010-02-261-25/+98
| | | | | | attributes. Fixes radar 7214439. llvm-svn: 97203
* Commit Eli's fix for implicit conversions to array type. Fixes PR6264.Douglas Gregor2010-02-261-1/+1
| | | | llvm-svn: 97202
* Don't generate method metadata for @dynamic properties. Fixes PR6354.David Chisnall2010-02-261-7/+12
| | | | llvm-svn: 97199
* Use the power of types to track down another canonicalization bug inJohn McCall2010-02-266-63/+82
| | | | | | the ABI-computation interface. Fixes <rdar://problem/7691046>. llvm-svn: 97197
* Make sure to mark constructors, operator new, and operator delete asDouglas Gregor2010-02-261-2/+56
| | | | | | | | | used when we instantiate C++ new expressions, delete expressions, and object-construction expressions. Fixes PR6424, although we can't test all of it until we finish implementing lookup of "operator delete" for new expressions (!). llvm-svn: 97195
* When we decide to re-use an existing CXXConstructExpr node, make sureDouglas Gregor2010-02-261-1/+3
| | | | | | | | to mark the constructor as referenced. Fixes the narrow issue reported in PR6424, but there are a few other places that I'll fix before closing out that PR. llvm-svn: 97185
* When computing the composite pointer type for relational comparisons,Douglas Gregor2010-02-253-7/+67
| | | | | | | | | | | | | | | | | | | | | | | | equality comparisons, and conditional operators, produce a composite pointer type with the appropriate additional "const" qualifiers if the pointer types would otherwise be incompatible. This is a small extension (also present in GCC and EDG in a slightly different form) that permits code like: void** i; void const** j; i == j; with the following extwarn: t.cpp:5:5: warning: comparison of distinct pointer types ('void **' and 'void const **') uses non-standard composite pointer type 'void const *const *' [-pedantic] i == j; ~ ^ ~ Fixes PR6346, and I'll be filing a core issue about this with the C++ committee. llvm-svn: 97177
* Improve vcall offset handling.Anders Carlsson2010-02-251-12/+26
| | | | llvm-svn: 97174
* Fux a bug where we were trying to add overriders for non-virtual bases of ↵Anders Carlsson2010-02-251-3/+3
| | | | | | virtual bases more than once. llvm-svn: 97173
* Move ~CodeGenAction out-of-line.Daniel Dunbar2010-02-251-0/+2
| | | | llvm-svn: 97166
* Restore Zhongxing's commits r97122 r97127 r97129 r97131 which were reverted ↵Douglas Gregor2010-02-253-74/+140
| | | | | | due to a Clang-on-Clang failure llvm-svn: 97162
* Allow us to compare derived-to-base conversions between a referenceDouglas Gregor2010-02-251-27/+8
| | | | | | | binding and a copy-construction. Fixes an overloading problem in the Clang-on-Clang build. llvm-svn: 97161
* Forgot to include nested protocols in collection, resulting inFariborz Jahanian2010-02-251-1/+3
| | | | | | bogus warning. Fixes radar 7682116. llvm-svn: 97157
* Don't try to finalize an ill-formed variable or one whose class type is ↵Douglas Gregor2010-02-251-1/+2
| | | | | | ill-formed. Fixes PR6421 llvm-svn: 97152
* Revert patches r97122 r97127 r97129 r97131.Jakob Stoklund Olesen2010-02-253-140/+74
| | | | | | They were breaking clang-x86_64-darwin10-selfhost llvm-svn: 97138
OpenPOWER on IntegriCloud