| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Anonymous namespaces, sema + codegen. A lot of semantics are still broken, | John McCall | 2009-10-01 | 1 | -0/+11 |
| | | | | | | | apparently because using directives aren't quite working correctly. llvm-svn: 83184 | ||||
| * | Desugaring optimizations. Add single-step desugaring methods to all | John McCall | 2009-09-29 | 1 | -59/+52 |
| | | | | | | | | | | concrete types. Use unqualified desugaring for getAs<> and sundry. Fix a few users to either not desugar or use qualified desugar, as seemed appropriate. Removed Type's qualified desugar method, as it was easy to accidentally use instead of QualType's. llvm-svn: 83116 | ||||
| * | Pull TypeLocVisitor into its own header file. | Argyrios Kyrtzidis | 2009-09-29 | 1 | -1/+1 |
| | | | | | llvm-svn: 83112 | ||||
| * | Introduce ObjCInterfaceLoc which provides type source information for ObjC ↵ | Argyrios Kyrtzidis | 2009-09-29 | 1 | -0/+18 |
| | | | | | | | interfaces. llvm-svn: 83097 | ||||
| * | Introduce ObjCProtocolListLoc for keeping source location information for ↵ | Argyrios Kyrtzidis | 2009-09-29 | 1 | -0/+24 |
| | | | | | | | protocol references. llvm-svn: 83094 | ||||
| * | Introduce ObjCProtocolListType type subclass. | Argyrios Kyrtzidis | 2009-09-29 | 2 | -0/+54 |
| | | | | | | | | | | This is used only for keeping detailed type source information for protocol references, it should not participate in the semantics of the type system. Its protocol list is not canonicalized. llvm-svn: 83093 | ||||
| * | Introduce Type::getTypeClassName() that returns the string associated with ↵ | Argyrios Kyrtzidis | 2009-09-29 | 1 | -0/+9 |
| | | | | | | | the TypeClass enum. llvm-svn: 83090 | ||||
| * | Introduce TypeLoc::getSourceRange(). | Argyrios Kyrtzidis | 2009-09-29 | 1 | -24/+24 |
| | | | | | llvm-svn: 83089 | ||||
| * | -Introduce TypeLoc::getOpaqueData() | Argyrios Kyrtzidis | 2009-09-29 | 1 | -1/+1 |
| | | | | | | | -Make TypeLoc's constructor public. llvm-svn: 83088 | ||||
| * | Handle C++ delete expressions when the overloaded delete operator is a | Douglas Gregor | 2009-09-29 | 1 | -0/+34 |
| | | | | | | | | | | | | "usual deallocation function" with two arguments. CodeGen will have to handle this case specifically, since the value for the second argument (the size of the allocated object) may have to be computed at run time. Fixes the Sema part of PR4782. llvm-svn: 83080 | ||||
| * | Fix http://llvm.org/PR5090. | Mike Stump | 2009-09-29 | 1 | -0/+4 |
| | | | | | llvm-svn: 83035 | ||||
| * | Add all of the C99 complex builtins prefixed with __builtin_ | Douglas Gregor | 2009-09-28 | 1 | -0/+5 |
| | | | | | llvm-svn: 83020 | ||||
| * | Make Decl::dump const. | Anders Carlsson | 2009-09-26 | 1 | -4/+4 |
| | | | | | llvm-svn: 82878 | ||||
| * | Address comment from Daniel. | Anders Carlsson | 2009-09-26 | 1 | -1/+1 |
| | | | | | llvm-svn: 82865 | ||||
| * | Rename NextOffset to DataSize. | Anders Carlsson | 2009-09-26 | 2 | -13/+20 |
| | | | | | llvm-svn: 82832 | ||||
| * | Start at NextOffset when laying out bases as well. | Anders Carlsson | 2009-09-26 | 1 | -1/+1 |
| | | | | | llvm-svn: 82831 | ||||
| * | Use NextOffset when laying out a field. | Anders Carlsson | 2009-09-26 | 1 | -1/+1 |
| | | | | | llvm-svn: 82828 | ||||
| * | Even more work on empty classes. | Anders Carlsson | 2009-09-25 | 1 | -7/+31 |
| | | | | | llvm-svn: 82770 | ||||
| * | Fix MSVC build by renaming a variable. PR5043 | Benjamin Kramer | 2009-09-25 | 1 | -2/+2 |
| | | | | | llvm-svn: 82762 | ||||
| * | Fix checking for a null pointer constant when the expression itself is | Douglas Gregor | 2009-09-25 | 1 | -7/+19 |
| | | | | | | | | | | | | | value-dependent. Audit (and fixed) all calls to Expr::isNullPointerConstant() to provide the correct behavior with value-dependent expressions. Fixes PR5041 and a crash in libstdc++ <locale>. In the same vein, properly compute value- and type-dependence for ChooseExpr. Fixes PR4996. llvm-svn: 82748 | ||||
| * | Who would have thought that empty classes were so tricky? Handle cases where ↵ | Anders Carlsson | 2009-09-25 | 2 | -0/+39 |
| | | | | | | | an empty virtual base class needs to be moved aside because it conflicts with the first field. llvm-svn: 82746 | ||||
| * | Handle array fields that contain empty structs. | Anders Carlsson | 2009-09-25 | 2 | -6/+26 |
| | | | | | llvm-svn: 82744 | ||||
| * | More work on empty classes. | Anders Carlsson | 2009-09-25 | 2 | -0/+27 |
| | | | | | llvm-svn: 82736 | ||||
| * | Make it really, really easy to change the alignment of Type (and ExtQuals). | John McCall | 2009-09-24 | 1 | -66/+72 |
| | | | | | llvm-svn: 82730 | ||||
| * | WIP implementation of explicit function template specialization. This | Douglas Gregor | 2009-09-24 | 2 | -4/+24 |
| | | | | | | | | | | | | | | | | | | | | | | first implementation recognizes when a function declaration is an explicit function template specialization (based on the presence of a template<> header), performs template argument deduction + ambiguity resolution to determine which template is being specialized, and hooks There are many caveats here: - We completely and totally drop any explicitly-specified template arguments on the floor - We don't diagnose any of the extra semantic things that we should diagnose. - I haven't looked to see that we're getting the right linkage for explicit specializations On a happy note, this silences a bunch of errors that show up in libstdc++'s <iostream>, although Clang still can't get through the entire header. llvm-svn: 82728 | ||||
| * | Refactor the representation of qualifiers to bring ExtQualType out of the | John McCall | 2009-09-24 | 7 | -407/+260 |
| | | | | | | | | | Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our use of qualifiers and fix a few places that weren't dealing with qualifiers quite right; many more remain. llvm-svn: 82705 | ||||
| * | More improvements with laying out empty bases. | Anders Carlsson | 2009-09-24 | 1 | -9/+52 |
| | | | | | llvm-svn: 82682 | ||||
| * | More work on empty classes. | Anders Carlsson | 2009-09-24 | 1 | -8/+23 |
| | | | | | llvm-svn: 82679 | ||||
| * | Scaffolding for supporting empty bases/fields. | Anders Carlsson | 2009-09-24 | 2 | -16/+55 |
| | | | | | llvm-svn: 82678 | ||||
| * | implement support for __builtin_eh_return_data_regno on x86-32 and x86-64. | Chris Lattner | 2009-09-23 | 1 | -0/+6 |
| | | | | | | | This implements PR5034 and rdar://6836445. llvm-svn: 82614 | ||||
| * | If we already set a primary base, don't set it to the first nearly empty ↵ | Anders Carlsson | 2009-09-22 | 1 | -2/+2 |
| | | | | | | | base class. llvm-svn: 82563 | ||||
| * | Fix speling error. | Anders Carlsson | 2009-09-22 | 1 | -1/+1 |
| | | | | | llvm-svn: 82562 | ||||
| * | Explicitly initialize the PrimaryBase and PrimaryBaseWasVirtual members. | Anders Carlsson | 2009-09-22 | 1 | -5/+3 |
| | | | | | llvm-svn: 82560 | ||||
| * | Yes. | Mike Stump | 2009-09-22 | 1 | -1/+0 |
| | | | | | llvm-svn: 82559 | ||||
| * | Add safe part of previous (reverted) commit, necessary to update to LLVM API ↵ | Daniel Dunbar | 2009-09-22 | 1 | -1/+1 |
| | | | | | | | change. llvm-svn: 82540 | ||||
| * | Revert "Switch a few clients over to StringLiteral::getString.", this is ↵ | Daniel Dunbar | 2009-09-22 | 1 | -1/+1 |
| | | | | | | | breaking some projects, but I don't have a test case yet. llvm-svn: 82539 | ||||
| * | Switch a few clients over to StringLiteral::getString. | Daniel Dunbar | 2009-09-22 | 1 | -1/+1 |
| | | | | | | | - Switching all of them out-of-my-current-scope-of-interest, sorry. llvm-svn: 82515 | ||||
| * | Add StringLiteral::getString -> StringRef. | Daniel Dunbar | 2009-09-22 | 1 | -4/+4 |
| | | | | | llvm-svn: 82514 | ||||
| * | Store the set of indirect primary bases directly in the record layout builder. | Anders Carlsson | 2009-09-22 | 2 | -44/+54 |
| | | | | | llvm-svn: 82513 | ||||
| * | Fix doc. | Mike Stump | 2009-09-22 | 1 | -1/+1 |
| | | | | | llvm-svn: 82511 | ||||
| * | Record layout builder cleanup. | Anders Carlsson | 2009-09-22 | 2 | -22/+11 |
| | | | | | llvm-svn: 82502 | ||||
| * | Change all the Type::getAsFoo() methods to specializations of Type::getAs(). | John McCall | 2009-09-21 | 8 | -186/+54 |
| | | | | | | | | | | | | 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 | ||||
| * | Disable questionable code for handling isNullPointerConstant on value dependent | Daniel Dunbar | 2009-09-18 | 1 | -2/+2 |
| | | | | | | | expression. llvm-svn: 82217 | ||||
| * | Fix two crashes on value dependent expressions (shift and null-pointer check). | Daniel Dunbar | 2009-09-17 | 1 | -0/+3 |
| | | | | | | | | | - Doug, please check. - PR4940. llvm-svn: 82129 | ||||
| * | Remove trailing whitespace. | Daniel Dunbar | 2009-09-17 | 1 | -9/+9 |
| | | | | | llvm-svn: 82128 | ||||
| * | Temporary band-aid for handling empty classes somewhat better. | Anders Carlsson | 2009-09-17 | 1 | -1/+3 |
| | | | | | llvm-svn: 82124 | ||||
| * | When creating function types, remove any top-level CVR qualifications in the ↵ | Anders Carlsson | 2009-09-16 | 1 | -0/+6 |
| | | | | | | | function type argument types. llvm-svn: 82093 | ||||
| * | Improved representation and support for friend class templates. Angst about ↵ | John McCall | 2009-09-16 | 2 | -0/+17 |
| | | | | | | | same. llvm-svn: 82088 | ||||
| * | Do not generate write-barrier in indirect assignment to | Fariborz Jahanian | 2009-09-16 | 1 | -2/+4 |
| | | | | | | | a weak object. llvm-svn: 82061 | ||||
| * | In building list of visible conversion functions, use | Fariborz Jahanian | 2009-09-15 | 1 | -2/+2 |
| | | | | | | | result type of template convesion functions. llvm-svn: 81943 | ||||

