- 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
-
Ted Kremenek authored
over the types of MemRegions. This allows the compiler to warn us which regions are not handled, and also is a little faster. llvm-svn: 75304
-
- Jul 10, 2009
-
-
Anders Carlsson authored
llvm-svn: 75291
-
Ted Kremenek authored
CodeTextRegions can only be casted to FunctionPointer or BlockPointerTypes. This simply isn't true. We can handle bogus operations on CodeTextRegions (e.g, an array access) elsewhere. llvm-svn: 75285
-
Ted Kremenek authored
void**, void***, etc. Such casts should just pass the region through. llvm-svn: 75281
-
Fariborz Jahanian authored
in their order of construction for each class and use it to to check on propery order of base class construction under -Wreorder option. llvm-svn: 75270
-
Anders Carlsson authored
llvm-svn: 75265
-
Ted Kremenek authored
Rename potentially ambiguous member template 'getRegion' to 'getSubRegion' to hopefully resolve template lookup ambiguities on some compilers. llvm-svn: 75253
-
Argyrios Kyrtzidis authored
llvm-svn: 75221
-
Ted Kremenek authored
and replace the 'clang-cc' option '-analyzer-store=basic-new-cast' with '-analyzer-store=basic-old-cast'. We'll keep the old CastRegion implementation around for a little while for regression testing. llvm-svn: 75209
-
Fariborz Jahanian authored
llvm-svn: 75178
-
Anders Carlsson authored
llvm-svn: 75175
-
- Jul 09, 2009
-
-
Fariborz Jahanian authored
class object's base and members under -Wreorder flag. llvm-svn: 75168
-
Anders Carlsson authored
llvm-svn: 75152
-
Anders Carlsson authored
llvm-svn: 75150
-
Douglas Gregor authored
Add test for C++ [over.over.]p1, the contexts in which one can take the address of an overloaded function. llvm-svn: 75146
-
Zhongxing Xu authored
llvm-svn: 75127
-
Anders Carlsson authored
Store the isAddressOfOperand in the UnresolvedDeclRefExpr, so that we can pass it when instantiating the expr. Fixes another member pointer bug. llvm-svn: 75075
-
Douglas Gregor authored
address of an overloaded function (which may involve both functions and function templates). llvm-svn: 75069
-
- Jul 08, 2009
-
-
Anders Carlsson authored
It's not allowed to form member pointers to members that have reference type. Add a test for this and the rest of [dcl.mptr]p3. llvm-svn: 75054
-
Douglas Gregor authored
function template. Most of the change here is in factoring out the common bits used for template argument deduction from a function call and when taking the address of a function template. llvm-svn: 75044
-
Owen Anderson authored
llvm-svn: 75041
-
Owen Anderson authored
llvm-svn: 75028
-
Anders Carlsson authored
llvm-svn: 75021
-
Fariborz Jahanian authored
gc'able structs in the Next runtime and adds missing PCH info. llvm-svn: 75014
-
Duncan Sands authored
Patch by Roman Divacky. llvm-svn: 75003
-
Douglas Gregor authored
llvm-svn: 74999
-
Douglas Gregor authored
namespaces based on the template arguments of a class template specialization type. llvm-svn: 74993
-
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
-
Douglas Gregor authored
not Context.DependentTy. I'll let Anders check in the test case for this one... llvm-svn: 74975
-
Douglas Gregor authored
llvm-svn: 74971
-
Douglas Gregor authored
llvm-svn: 74966
-
Douglas Gregor authored
implement C++ [temp.deduct.call]p3b3, which allows a template-id parameter to match a derived class of the argument, while deducing template arguments. llvm-svn: 74965
-
- Jul 07, 2009
-
-
Nate Begeman authored
llvm-svn: 74951
-
Sebastian Redl authored
llvm-svn: 74943
-
Anders Carlsson authored
llvm-svn: 74937
-
Fariborz Jahanian authored
llvm-svn: 74935
-
Chris Lattner authored
Convert the CharInfo table to be statically initialized, instead of dynamically initialized. Patch by Ryan Flynn! llvm-svn: 74919
-