- Sep 22, 2009
-
-
Anders Carlsson authored
llvm-svn: 82567
-
Anders Carlsson authored
llvm-svn: 82557
-
John McCall authored
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
-
- Sep 21, 2009
-
-
Anders Carlsson authored
llvm-svn: 82423
-
- Sep 18, 2009
-
-
Anders Carlsson authored
llvm-svn: 82265
-
Anders Carlsson authored
llvm-svn: 82262
-
Anders Carlsson authored
llvm-svn: 82250
-
Anders Carlsson authored
llvm-svn: 82247
-
Anders Carlsson authored
llvm-svn: 82246
-
Anders Carlsson authored
llvm-svn: 82193
-
Anders Carlsson authored
llvm-svn: 82189
-
- Sep 17, 2009
-
-
Anders Carlsson authored
llvm-svn: 82146
-
Anders Carlsson authored
llvm-svn: 82125
-
Anders Carlsson authored
llvm-svn: 82123
-
Anders Carlsson authored
llvm-svn: 82122
-
Anders Carlsson authored
llvm-svn: 82119
-
Anders Carlsson authored
llvm-svn: 82116
-
Anders Carlsson authored
When mangling function template specialization, mangle the type encoding of the original function template. Also, port mangle.cpp and function-template-specialization.cpp over to using FileCheck. llvm-svn: 82114
-
Anders Carlsson authored
llvm-svn: 82113
-
Anders Carlsson authored
llvm-svn: 82102
-
- Sep 12, 2009
-
-
Mike Stump authored
llvm-svn: 81619
-
Douglas Gregor authored
llvm-svn: 81589
-
- Sep 09, 2009
-
-
Mike Stump authored
llvm-svn: 81346
-
- Sep 07, 2009
-
-
Mike Stump authored
llvm-svn: 81143
-
- Sep 05, 2009
-
-
John McCall authored
ignore non-canonical type classes, but apparently we need to know how to mangle dependent names. The missing cases are much more obvious now. llvm-svn: 81070
-
Mike Stump authored
offsets better for thunk refinements. Cleanups. WIP. llvm-svn: 81067
-
John McCall authored
ways: remove elab types during desugaring, enhance pretty-printing to allow tags to be suppressed without suppressing scopes, look through elab types when associating a typedef name with an anonymous record type. llvm-svn: 81065
-
- Sep 02, 2009
-
-
Mike Stump authored
llvm-svn: 80747
-
Mike Stump authored
llvm-svn: 80744
-
Mike Stump authored
llvm-svn: 80743
-
- Aug 15, 2009
-
-
John McCall authored
llvm-svn: 79070
-
- Aug 01, 2009
-
-
Mike Stump authored
llvm-svn: 77751
-
- Jul 31, 2009
-
-
Mike Stump authored
llvm-svn: 77699
-
- Jul 22, 2009
-
-
Steve Naroff authored
Fix a couple recent ABI regressions noticed during code review (fallout from the ObjC type system rewrite). It's unfortunate that the mangling includes the low-level structs. Nevertheless, we need this for binary compatibility with GCC. llvm-svn: 76755
-
- Jul 15, 2009
-
-
Steve Naroff authored
Implement the ObjC pseudo built-in types as clang "BuiltinType's". I say pseudo built-in types, since Sema still injects a typedef for recognition (i.e. they aren't truly built-ins from a parser perspective). This removes the static data/methods on ObjCObjectPointerType while preserving the nice API (no need to fiddle with ASTContext:-). This patch also adds Type::isObjCBuiltinType(). This should be the last fairly large patch related to recrafting the ObjC type system. The follow-on patches should be fairly small. llvm-svn: 75808
-
- Jul 14, 2009
-
-
Alisdair Meredith authored
llvm-svn: 75622
-
- Jul 11, 2009
-
-
Steve Naroff authored
The idea is to segregate Objective-C "object" pointers from general C pointers (utilizing the recently added ObjCObjectPointerType). The fun starts in Sema::GetTypeForDeclarator(), where "SomeInterface *" is now represented by a single AST node (rather than a PointerType whose Pointee is an ObjCInterfaceType). Since a significant amount of code assumed ObjC object pointers where based on C pointers/structs, this patch is very tedious. It should also explain why it is hard to accomplish this in smaller, self-contained patches. This patch does most of the "heavy lifting" related to moving from PointerType->ObjCObjectPointerType. It doesn't include all potential "cleanups". The good news is additional cleanups can be done later (some are noted in the code). This patch is so large that I didn't want to include any changes that are purely aesthetic. By making the ObjC types truly built-in, they are much easier to work with (and require fewer "hacks"). For example, there is no need for ASTContext::isObjCIdStructType() or ASTContext::isObjCClassStructType()! We believe this change (and the follow-up cleanups) will pay dividends over time. Given the amount of code change, I do expect some fallout from this change (though it does pass all of the clang tests). If you notice any problems, please let us know asap! Thanks. llvm-svn: 75314
-
- Jun 30, 2009
-
-
Argyrios Kyrtzidis authored
The implementations of these methods can Use Decl::getASTContext() to get the ASTContext. This commit touches a lot of files since call sites for these methods are everywhere. I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it. llvm-svn: 74501
-
Douglas Gregor authored
- Track implicit instantiations vs. the not-yet-supported explicit specializations - Give implicit instantiations of function templates (and member functions of class templates) linkonce_odr linkage. - Improve name mangling for function template specializations, including the template arguments of the instantiation and the return type of the function. Note that our name-mangling is improved, but not correct: we still don't mangle substitutions, although the manglings we produce can be demangled. llvm-svn: 74466
-
- Jun 26, 2009
-
-
Anders Carlsson authored
llvm-svn: 74307
-