| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
a result of type-cast of an ivar in assignment.
llvm-svn: 83150
|
| |
|
|
| |
llvm-svn: 82735
|
| |
|
|
|
|
| |
(objc GC's API).
llvm-svn: 82724
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
gcc-style write-barrier api only.
llvm-svn: 82493
|
| |
|
|
| |
llvm-svn: 82472
|
| |
|
|
|
|
| |
array syntax is used to derefernce and assign to ivar pointee.
llvm-svn: 82183
|
| |
|
|
| |
llvm-svn: 82090
|
| |
|
|
|
|
|
|
| |
GC. Currently, new API will be generated under
clang-cc's -fobjc-newgc-api flag which will eventually
become the default. WIP.
llvm-svn: 82082
|
| |
|
|
|
|
| |
a flag (objc GC).
llvm-svn: 82052
|
| |
|
|
|
|
| |
bitfields).
llvm-svn: 81867
|
| |
|
|
| |
llvm-svn: 81738
|
| |
|
|
|
|
| |
make very nice symbols, just use the function name.
llvm-svn: 81653
|
| |
|
|
| |
llvm-svn: 81614
|
| |
|
|
| |
llvm-svn: 81602
|
| |
|
|
| |
llvm-svn: 81590
|
| |
|
|
| |
llvm-svn: 81582
|
| |
|
|
| |
llvm-svn: 81481
|
| |
|
|
|
|
| |
be called, generate implicit child expressions that call them.
llvm-svn: 81383
|
| |
|
|
| |
llvm-svn: 81346
|
| |
|
|
| |
llvm-svn: 81337
|
| |
|
|
|
|
| |
Weinig!
llvm-svn: 81237
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
expressions, e.g.,
p->~T()
when p is a pointer to a scalar type.
We don't currently diagnose errors when pseudo-destructor expressions
are used in any way other than by forming a call.
llvm-svn: 81009
|
| |
|
|
| |
llvm-svn: 80723
|
| |
|
|
| |
llvm-svn: 80681
|
| |
|
|
|
|
|
|
| |
space within the MemberExpr for the nested-name-specifier and its
source range. We'll do the same thing with explicitly-specified
template arguments, assuming I don't flip-flop again.
llvm-svn: 80642
|
| |
|
|
|
|
|
| |
also be adding explicit template arguments as an additional
"adornment". No functionality change.
llvm-svn: 80628
|
| |
|
|
|
|
| |
using class's conversion functions [12.3.2-p2]
llvm-svn: 80433
|
| |
|
|
|
|
| |
with class type conversion methods. WIP.
llvm-svn: 80365
|
| |
|
|
|
|
| |
out for user-defined conversions instead of crashing.
llvm-svn: 80282
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
name, e.g.,
x->Base::f()
retain the qualifier (and its source range information) in a new
subclass of MemberExpr called CXXQualifiedMemberExpr. Provide
construction, transformation, profiling, printing, etc., for this new
expression type.
When a virtual function is called via a qualified name, don't emit a
virtual call. Instead, call that function directly. Mike, could you
add a CodeGen test for this, too?
llvm-svn: 80167
|
| |
|
|
|
|
|
|
| |
"ObjCImplctSetterGetterRefExpr".
A field rename and more comments.
llvm-svn: 79537
|
| |
|
|
|
|
|
|
| |
Removed an unnecessary loop to get to setters incoming
argument. Added DoxyGen comments. Still more work
to do in this area (WIP).
llvm-svn: 79365
|
| |
|
|
| |
llvm-svn: 79197
|
| |
|
|
| |
llvm-svn: 79196
|
| |
|
|
|
|
| |
temporaries from being destroyed when they're bound to a reference variable.
llvm-svn: 79179
|
| |
|
|
|
|
| |
VLASize isn't populated for the type yet.
llvm-svn: 79057
|
| |
|
|
| |
llvm-svn: 78946
|
| |
|
|
| |
llvm-svn: 78756
|
| |
|
|
| |
llvm-svn: 77638
|
| |
|
|
| |
llvm-svn: 77629
|
| |
|
|
|
|
|
|
|
|
| |
ever trigger). Add an "unsupported" case that triggers for C++ code.
It would be nice if someone would implement this properly... it
shouldn't be too hard, but I haven't looked closely at the relevant
code.
llvm-svn: 77562
|
| |
|
|
| |
llvm-svn: 77514
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Type::getAsReferenceType() -> Type::getAs<ReferenceType>()
Type::getAsRecordType() -> Type::getAs<RecordType>()
Type::getAsPointerType() -> Type::getAs<PointerType>()
Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>()
Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>()
Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>()
Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>()
Type::getAsReferenceType() -> Type::getAs<ReferenceType>()
Type::getAsTagType() -> Type::getAs<TagType>()
And remove Type::getAsReferenceType(), etc.
This change is similar to one I made a couple weeks ago, but that was partly
reverted pending some additional design discussion. With Doug's pending smart
pointer changes for Types, it seemed natural to take this approach.
llvm-svn: 77510
|
| |
|
|
|
|
|
| |
excpression, if needed, and remove some ir-gen code
now unnencessary.
llvm-svn: 77490
|
| |
|
|
|
|
| |
and use it in several places.
llvm-svn: 77411
|
| |
|
|
| |
llvm-svn: 77368
|
| |
|
|
| |
llvm-svn: 77351
|
| |
|
|
| |
llvm-svn: 77332
|