| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Recycle memory for GRStates that are never referenced | Ted Kremenek | 2011-01-25 | 2 | -4/+27 |
| | | | | | | | | | by ExplodedNodes. This leads to about a 4-8% reduction in memory footprint when analyzing functions in sqlite3. llvm-svn: 124214 | ||||
| * | Teach -Wuninitialized-experimental to also warn | Ted Kremenek | 2011-01-25 | 2 | -18/+48 |
| | | | | | | | about uninitialized variables captured by blocks. llvm-svn: 124213 | ||||
| * | Tweak wording of static analyzer diagnostic | Ted Kremenek | 2011-01-25 | 1 | -3/+3 |
| | | | | | | | | for a block capturing the value of an uninitialized variable. llvm-svn: 124212 | ||||
| * | Teach TemplateSpecializationTypeLoc::initializeArgLocs() to actually | Douglas Gregor | 2011-01-25 | 5 | -14/+54 |
| | | | | | | | | | | generate meaningful [*] template argument location information. [*] Well, as meaningful as possible, given that this entire code path is a hack for when we've lost type-source information. llvm-svn: 124211 | ||||
| * | Don't insert class templates into the DynamicClasses vector. | Anders Carlsson | 2011-01-25 | 2 | -1/+3 |
| | | | | | llvm-svn: 124201 | ||||
| * | Be a bit more defensive about setting the temporary base location | Douglas Gregor | 2011-01-25 | 1 | -1/+3 |
| | | | | | | | | | during template instantiation. This code needs to eventually die, but this little tweak fixes PR8629, where bad location information slipped through to the location of a class template instantiation. llvm-svn: 124199 | ||||
| * | Implement the rvalue-reference deduction transformation (from T&& -> | Douglas Gregor | 2011-01-25 | 1 | -6/+33 |
| | | | | | | | | | T) when taking the address of an overloaded function or matching a specialization to a template (C++0x [temp.deduct.type]p10). Fixes PR9044. llvm-svn: 124197 | ||||
| * | When performing a glvalue-to-xvalue static_cast that involves a | Douglas Gregor | 2011-01-25 | 1 | -6/+17 |
| | | | | | | | | derived-to-base conversion, set the cast kind and base path appropriately. llvm-svn: 124189 | ||||
| * | Add the ns_consumes_self, ns_consumed, cf_consumed, and ns_returns_autoreleased | John McCall | 2011-01-25 | 2 | -15/+93 |
| | | | | | | | attributes for the benefit of the static analyzer. llvm-svn: 124174 | ||||
| * | Downgrade the error about rvalue references to an extension warning | Douglas Gregor | 2011-01-25 | 2 | -3/+3 |
| | | | | | | | | | and turn on __has_feature(cxx_rvalue_references). The core rvalue references proposal seems to be fully implemented now, pending lots more testing. llvm-svn: 124169 | ||||
| * | [analyzer] Handle the dot syntax for properties in the ExprEngine. | Argyrios Kyrtzidis | 2011-01-25 | 6 | -11/+80 |
| | | | | | | | | | | | We translate property accesses to obj-c messages by simulating "loads" or "stores" to properties using a pseudo-location SVal kind (ObjCPropRef). Checkers can now reason about obj-c messages for both explicit message expressions and implicit messages due to property accesses. llvm-svn: 124161 | ||||
| * | [analyzer] Introduce ExprEngine::VisitObjCMessage for handling general ↵ | Argyrios Kyrtzidis | 2011-01-25 | 1 | -12/+19 |
| | | | | | | | | | ObjCMessages (both message expressions and property access) and use it in ExprEngine::VisitObjCMessageExpr. llvm-svn: 124160 | ||||
| * | [analyzer] Introduce ObjCMessage which represents both explicit ObjC message ↵ | Argyrios Kyrtzidis | 2011-01-25 | 8 | -171/+289 |
| | | | | | | | | | | | expressions and implicit messages that are sent for handling properties in dot syntax. Replace all direct uses of ObjCMessageExpr in the checkers and checker interface with ObjCMessage. llvm-svn: 124159 | ||||
| * | In a ObjCMessageExpr with the super class as receiver, 'super' is actually a ↵ | Argyrios Kyrtzidis | 2011-01-25 | 1 | -3/+3 |
| | | | | | | | ObjCInterfaceType. llvm-svn: 124158 | ||||
| * | [analyzer] Simplify GetReceiverType function in ↵ | Argyrios Kyrtzidis | 2011-01-25 | 1 | -18/+2 |
| | | | | | | | BasicObjCFoundationChecks.cpp; no functionality change. llvm-svn: 124157 | ||||
| * | Revert r124146 for now. It appears to be failing on a few platforms. | Eric Christopher | 2011-01-24 | 2 | -50/+23 |
| | | | | | llvm-svn: 124153 | ||||
| * | pre/post increase/decrease for AltiVec vectors | Anton Yartsev | 2011-01-24 | 2 | -23/+50 |
| | | | | | llvm-svn: 124146 | ||||
| * | Enhance the diagnostic for referring to a typedef with an elaborated name to be | Nick Lewycky | 2011-01-24 | 1 | -3/+22 |
| | | | | | | | as useful in a templated context as it is without templates. Fixes PR8755! llvm-svn: 124136 | ||||
| * | Disallow function template partial specializations, from Hans | Douglas Gregor | 2011-01-24 | 1 | -2/+4 |
| | | | | | | | Wennborg! Fixes PR8295. llvm-svn: 124135 | ||||
| * | Improve the printing of C++ construction expressions, from Yuri Gribov! | Douglas Gregor | 2011-01-24 | 1 | -7/+8 |
| | | | | | llvm-svn: 124123 | ||||
| * | Use attributes for all the override control specifiers. | Anders Carlsson | 2011-01-24 | 9 | -28/+15 |
| | | | | | llvm-svn: 124122 | ||||
| * | Re-instate r123977/r123978, my updates of the reference-binding | Douglas Gregor | 2011-01-24 | 2 | -75/+58 |
| | | | | | | | | | | | | | | | | | implementation used by overload resolution to support rvalue references. The original commits caused PR9026 and some hard-to-reproduce self-host breakage. The only (crucial!) difference between this commit and the previous commits is that we now properly check the SuppressUserConversions flag before attempting to perform a second user-defined conversion in reference binding, breaking the infinite recursion chain of user-defined conversions. Rvalue references should be working a bit better now. llvm-svn: 124121 | ||||
| * | Check whether DependentScopeDeclRefExpr's NestedNameSpecifier exists before ↵ | Axel Naumann | 2011-01-24 | 1 | -1/+2 |
| | | | | | | | accessing it, both for consistency (see StmtPrinter::VisitDeclRefExpr()) and for other use cases of dependent types. llvm-svn: 124119 | ||||
| * | When building a type info struct for EH, we always want it to have ↵ | Anders Carlsson | 2011-01-24 | 1 | -0/+6 |
| | | | | | | | linkonce_odr linkage. llvm-svn: 124096 | ||||
| * | Change CodeGenModule::getVTableLinkage to be a non-static member function. | Anders Carlsson | 2011-01-24 | 2 | -5/+5 |
| | | | | | llvm-svn: 124095 | ||||
| * | "Name" a bool parameter. | Anders Carlsson | 2011-01-24 | 1 | -3/+5 |
| | | | | | llvm-svn: 124094 | ||||
| * | Use CharUnits for the offset amount of RegionRawOffset. | Ken Dyck | 2011-01-24 | 4 | -6/+6 |
| | | | | | llvm-svn: 124093 | ||||
| * | Remove private toCharUnits() helper method, replacing with calls to | Ken Dyck | 2011-01-24 | 1 | -17/+10 |
| | | | | | | | ASTContext::toCharUnitsFromBits(). llvm-svn: 124092 | ||||
| * | Mark VTables and RTTI data linkonce_odr instead of weak_odr, with the ↵ | Anders Carlsson | 2011-01-24 | 2 | -9/+13 |
| | | | | | | | | | exception of explicit template instantiations, which have to be weak_odr. This fixes PR6996. llvm-svn: 124089 | ||||
| * | Get rid of [[hiding]], [[override]] and [[base_check]]. | Anders Carlsson | 2011-01-23 | 4 | -132/+1 |
| | | | | | llvm-svn: 124087 | ||||
| * | Get rid of the [[final]] C++0x attribute. | Anders Carlsson | 2011-01-23 | 5 | -57/+17 |
| | | | | | llvm-svn: 124083 | ||||
| * | Teach -Wuninitialized-experimental about sizeof(). | Ted Kremenek | 2011-01-23 | 1 | -0/+10 |
| | | | | | llvm-svn: 124076 | ||||
| * | Tweak diagnostic: | Ted Kremenek | 2011-01-23 | 1 | -1/+2 |
| | | | | | | | | | | | | | | error: no super class declared in @interface for 'XXX' to be: error: 'X' cannot use 'super' because it is a root class The latter explains what the user actually did wrong. Fixes: <rdar://problem/8904409> llvm-svn: 124074 | ||||
| * | Null initialize a few variables flagged by | Ted Kremenek | 2011-01-23 | 3 | -6/+5 |
| | | | | | | | | | | | clang's -Wuninitialized-experimental warning. While these don't look like real bugs, clang's -Wuninitialized-experimental analysis is stricter than GCC's, and these fixes have the benefit of being general nice cleanups. llvm-svn: 124072 | ||||
| * | Accept the C++0x override control keywords as an extension in C++98. This is ↵ | Anders Carlsson | 2011-01-22 | 1 | -2/+10 |
| | | | | | | | OK since the new syntax is unambiguous and can't be confused with C++98 syntax. If anyone disagrees, please shout! llvm-svn: 124048 | ||||
| * | Implement [class.derived]p8. | Anders Carlsson | 2011-01-22 | 1 | -0/+20 |
| | | | | | llvm-svn: 124047 | ||||
| * | Serialize and deserialize IsMarkedFinal/IsMarkedExplicit. | Anders Carlsson | 2011-01-22 | 2 | -0/+5 |
| | | | | | llvm-svn: 124041 | ||||
| * | Mark classes final and/or explicit during class template instantiation. | Anders Carlsson | 2011-01-22 | 1 | -0/+3 |
| | | | | | llvm-svn: 124040 | ||||
| * | Mark classes as final or explicit. Diagnose when a class marked 'final' is ↵ | Anders Carlsson | 2011-01-22 | 3 | -1/+19 |
| | | | | | | | used as a base. llvm-svn: 124039 | ||||
| * | Add final/explicit getters and setters to CXXRecordDecl. | Anders Carlsson | 2011-01-22 | 1 | -0/+1 |
| | | | | | llvm-svn: 124037 | ||||
| * | Parse class-virt-specifier-seqs. | Anders Carlsson | 2011-01-22 | 2 | -16/+73 |
| | | | | | llvm-svn: 124036 | ||||
| * | More work on ClassVirtSpecifiers. | Anders Carlsson | 2011-01-22 | 2 | -3/+32 |
| | | | | | llvm-svn: 124035 | ||||
| * | revert r123977 and r123978 to fix PR9026. | Rafael Espindola | 2011-01-22 | 2 | -59/+76 |
| | | | | | llvm-svn: 124033 | ||||
| * | Start stubbing out a ClassVirtSpecifiers class. | Anders Carlsson | 2011-01-22 | 1 | -9/+8 |
| | | | | | llvm-svn: 124032 | ||||
| * | A member function template cannot be virtual. | Anders Carlsson | 2011-01-22 | 1 | -1/+8 |
| | | | | | llvm-svn: 124031 | ||||
| * | Use a FunctionType::get overload that doesn't require an empty vector. | Benjamin Kramer | 2011-01-22 | 1 | -5/+2 |
| | | | | | llvm-svn: 124029 | ||||
| * | Improve our parse recovery on 'case blah;' and 'default;'. | John McCall | 2011-01-22 | 1 | -6/+18 |
| | | | | | llvm-svn: 124025 | ||||
| * | Send code generation for xvalues down the same path as lvalues | Douglas Gregor | 2011-01-22 | 2 | -2/+2 |
| | | | | | llvm-svn: 124023 | ||||
| * | Debug info generation for rvalue references | Douglas Gregor | 2011-01-22 | 2 | -6/+10 |
| | | | | | llvm-svn: 124020 | ||||
| * | Update const_cast semantics for rvalue references. Add tests for | Douglas Gregor | 2011-01-22 | 1 | -5/+4 |
| | | | | | | | reinterpret_cast and const_cast using rvalue references. llvm-svn: 124007 | ||||

