| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
http://llvm.org/viewvc/llvm-project?view=rev&revision=75314.
Still more to come...just wanted to get the no-brainers out of the way.
llvm-svn: 75477
|
|
|
|
| |
llvm-svn: 75473
|
|
|
|
| |
llvm-svn: 75471
|
|
|
|
| |
llvm-svn: 75446
|
|
|
|
| |
llvm-svn: 75442
|
|
|
|
| |
llvm-svn: 75437
|
|
|
|
| |
llvm-svn: 75431
|
|
|
|
|
|
|
| |
- Previous code was based on a misunderstanding (on my part) of the type
representation.
llvm-svn: 75385
|
|
|
|
|
|
| |
- This was a latent bug exposed by the recent objc type changes.
llvm-svn: 75383
|
|
|
|
|
|
| |
scope of loop. Rename variable to j.
llvm-svn: 75365
|
|
|
|
|
|
|
|
| |
void* values that are bound
to symbolic regions and then treated like integers.
llvm-svn: 75356
|
|
|
|
|
|
|
| |
MemRegion kinds. This allows the compiler to identify what MemRegions we don't
handle for pointer arithmetic.
llvm-svn: 75326
|
|
|
|
| |
llvm-svn: 75325
|
|
|
|
|
|
| |
have an initializer. Also, move some tests around to match the C++0x draft better.
llvm-svn: 75322
|
|
|
|
|
|
|
|
|
| |
warning: ‘OPT’ may be used uninitialized in this function
Now OPT is initialized to NULL. I'm not certain if this is the correct fix;
others please review.
llvm-svn: 75321
|
|
|
|
| |
llvm-svn: 75315
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 75291
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
void**, void***, etc. Such casts should just pass the region through.
llvm-svn: 75281
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 75265
|
|
|
|
|
|
| |
to hopefully resolve template lookup ambiguities on some compilers.
llvm-svn: 75253
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 75221
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 75178
|
|
|
|
| |
llvm-svn: 75175
|
|
|
|
|
|
| |
class object's base and members under -Wreorder flag.
llvm-svn: 75168
|
|
|
|
| |
llvm-svn: 75152
|
|
|
|
|
|
| |
quoted correctly.
llvm-svn: 75150
|
|
|
|
|
|
| |
address of an overloaded function.
llvm-svn: 75146
|
|
|
|
| |
llvm-svn: 75127
|
|
|
|
|
|
| |
pass it when instantiating the expr. Fixes another member pointer bug.
llvm-svn: 75075
|
|
|
|
|
|
|
| |
address of an overloaded function (which may involve both functions
and function templates).
llvm-svn: 75069
|
|
|
|
|
|
| |
type. Add a test for this and the rest of [dcl.mptr]p3.
llvm-svn: 75054
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 75041
|
|
|
|
| |
llvm-svn: 75028
|
|
|
|
| |
llvm-svn: 75021
|
|
|
|
|
|
|
| |
gc'able structs in the Next runtime and adds missing
PCH info.
llvm-svn: 75014
|
|
|
|
|
|
| |
Patch by Roman Divacky.
llvm-svn: 75003
|
|
|
|
| |
llvm-svn: 74999
|
|
|
|
|
|
|
| |
namespaces based on the template arguments of a class template
specialization type.
llvm-svn: 74993
|
|
|
|
| |
llvm-svn: 74986
|
|
|
|
|
|
|
| |
when struct variables with GC'able members are copied into.
Will provide a test case later.
llvm-svn: 74984
|
|
|
|
|
|
|
| |
Also, enable them in sema so that they are tested, and now that the x86 backend
has stablized.
llvm-svn: 74983
|
|
|
|
|
|
| |
not Context.DependentTy. I'll let Anders check in the test case for this one...
llvm-svn: 74975
|
|
|
|
| |
llvm-svn: 74971
|
|
|
|
| |
llvm-svn: 74966
|