- Jul 11, 2009
-
-
Daniel Dunbar authored
- Previous code was based on a misunderstanding (on my part) of the type representation. llvm-svn: 75385
-
Daniel Dunbar authored
- This was a latent bug exposed by the recent objc type changes. llvm-svn: 75383
-
Eli Friedman authored
llvm-svn: 75325
-
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
-
- Jul 10, 2009
-
-
Anders Carlsson authored
llvm-svn: 75265
-
- Jul 08, 2009
-
-
Owen Anderson authored
llvm-svn: 75041
-
Owen Anderson authored
llvm-svn: 75028
-
Anders Carlsson authored
llvm-svn: 75021
-
Owen Anderson authored
llvm-svn: 74986
-
Fariborz Jahanian authored
when struct variables with GC'able members are copied into. Will provide a test case later. llvm-svn: 74984
-
Chris Lattner authored
Also, enable them in sema so that they are tested, and now that the x86 backend has stablized. llvm-svn: 74983
-
- Jul 06, 2009
-
-
Douglas Gregor authored
from Enea Zaffanella! llvm-svn: 74831
-
- Jul 03, 2009
-
-
Fariborz Jahanian authored
This fixes the case where the wrong symbol is emitted leading to linking errors when you reference a class before defining it (GNU runtime). Patch by David Chisnall. llvm-svn: 74772
-
- Jul 02, 2009
-
-
Owen Anderson authored
llvm-svn: 74657
-
- Jul 01, 2009
-
-
Owen Anderson authored
llvm-svn: 74642
-
Owen Anderson authored
llvm-svn: 74615
-
Chris Lattner authored
llvm-svn: 74585
-
- Jun 30, 2009
-
-
Argyrios Kyrtzidis authored
Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating". Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit. llvm-svn: 74506
-
Argyrios Kyrtzidis authored
Timings showed no significant difference before and after the commit. llvm-svn: 74504
-
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
-
Chris Lattner authored
This is simple enough, but then I thought it would be nice to make PrintingPolicy get a LangOptions so that various things can key off "bool" and "C++" independently. This spiraled out of control. There are many fixme's, but I think things are slightly better than they were before. One thing that can be improved: CFG should probably have an ASTContext pointer in it, which would simplify its clients. llvm-svn: 74493
-
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 29, 2009
-
-
Douglas Gregor authored
redundant, implicit instantiations of function templates and provide a place where we can hang function template specializations. llvm-svn: 74454
-
Douglas Gregor authored
FunctionTemplateSpecializationInfo, in DeclTemplate.h. No functionality change. llvm-svn: 74431
-
Bill Wendling authored
llvm-svn: 74414
-
- Jun 28, 2009
-
-
Bill Wendling authored
function attributes. There are predefined macros that are defined when stack protectors are used: __SSP__=1 with -fstack-protector and __SSP_ALL__=2 with -fstack-protector-all. llvm-svn: 74405
-
- Jun 26, 2009
-
-
Nate Begeman authored
llvm-svn: 74324
-
Anders Carlsson authored
llvm-svn: 74307
-
Devang Patel authored
llvm-svn: 74305
-
Devang Patel authored
llvm-svn: 74304
-
Daniel Dunbar authored
take this path with non-builtin floating point types). llvm-svn: 74303
-
- Jun 24, 2009
-
-
Anders Carlsson authored
llvm-svn: 74099
-
- Jun 23, 2009
-
-
Fariborz Jahanian authored
variables in ObjC's Next runtime mode. Next runtime also implicitly applies 'used' attribute on some of its meta-data. This results in two 'llvm.used' arrays to be generated, and one of them is renamed to 'llvm.used1'. llvm-svn: 74008
-
Chris Lattner authored
llvm-svn: 73938
-
- Jun 20, 2009
-
-
Douglas Gregor authored
llvm-svn: 73812
-
- Jun 18, 2009
-
-
-
Argyrios Kyrtzidis authored
llvm-svn: 73651
-
rdar://problem/6613046Steve Naroff authored
Add a type (ObjCObjectPointerType) and remove a type (ObjCQualifiedIdType). This large/tedious patch is just a first step. Next step is to remove ObjCQualifiedInterfaceType. After that, I will remove the magic TypedefType for 'id' (installed by Sema). This work will enable various simplifications throughout clang (when dealing with ObjC types). No functionality change. llvm-svn: 73649
-
- Jun 17, 2009
-
-
Chris Lattner authored
llvm-svn: 73604
-
- Jun 16, 2009
-
-
Devang Patel authored
It is possible that main input file does not have any symbol with debug info. To handle this edge case, always create main compile unit first. This fixes PR 4228. llvm-svn: 73520
-