| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 90044
|
|
|
|
|
|
| |
AggExprEmitter::VisitCastExpr.
llvm-svn: 89988
|
|
|
|
| |
llvm-svn: 89467
|
|
|
|
| |
llvm-svn: 89172
|
|
|
|
|
|
| |
through the crack.
llvm-svn: 85160
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qualified reference to a declaration that is not a non-static data
member or non-static member function, e.g.,
namespace N { int i; }
int j = N::i;
Instead, extend DeclRefExpr to optionally store the qualifier. Most
clients won't see or care about the difference (since
QualifierDeclRefExpr inherited DeclRefExpr). However, this reduces the
number of top-level expression types that clients need to cope with,
brings the implementation of DeclRefExpr into line with MemberExpr,
and simplifies and unifies our handling of declaration references.
Extended DeclRefExpr to (optionally) store explicitly-specified
template arguments. This occurs when naming a declaration via a
template-id (which will be stored in a TemplateIdRefExpr) that,
following template argument deduction and (possibly) overload
resolution, is replaced with a DeclRefExpr that refers to a template
specialization but maintains the template arguments as written.
llvm-svn: 84962
|
|
|
|
|
|
| |
both scalar and aggregates.
llvm-svn: 84910
|
|
|
|
| |
llvm-svn: 84438
|
|
|
|
| |
llvm-svn: 84418
|
|
|
|
| |
llvm-svn: 84329
|
|
|
|
| |
llvm-svn: 83964
|
|
|
|
| |
llvm-svn: 83798
|
|
|
|
| |
llvm-svn: 83272
|
|
|
|
| |
llvm-svn: 83266
|
|
|
|
|
|
| |
used by CGExprConstant.
llvm-svn: 83263
|
|
|
|
| |
llvm-svn: 83041
|
|
|
|
| |
llvm-svn: 83039
|
|
|
|
| |
llvm-svn: 83038
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
be called, generate implicit child expressions that call them.
llvm-svn: 81383
|
|
|
|
| |
llvm-svn: 81346
|
|
|
|
|
|
| |
API for copying GC'able aggregates (Next runtime only).
llvm-svn: 80607
|
|
|
|
|
|
| |
using class's conversion functions [12.3.2-p2]
llvm-svn: 80433
|
|
|
|
| |
llvm-svn: 80178
|
|
|
|
|
|
|
|
| |
"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
|
|
|
|
|
|
| |
temporaries from being destroyed when they're bound to a reference variable.
llvm-svn: 79179
|
|
|
|
| |
llvm-svn: 78946
|
|
|
|
| |
llvm-svn: 78429
|
|
|
|
| |
llvm-svn: 77722
|
|
|
|
| |
llvm-svn: 77629
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 77012
|
|
|
|
|
|
|
| |
__attribute__((address_space(1))) struct {int arr[ 3 ]; } *p1;
... = p1->arr[2]; // load from address space 1
llvm-svn: 76717
|
|
|
|
|
|
|
|
|
| |
until Doug Gregor's Type smart pointer code lands (or more discussion occurs).
These methods just call the new Type::getAs<XXX> methods, so we still have
reduced implementation redundancy. Having explicit getAsXXXType() methods makes
it easier to set breakpoints in the debugger.
llvm-svn: 76193
|
|
|
|
|
|
| |
Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents.
llvm-svn: 76139
|
|
|
|
| |
llvm-svn: 75705
|
|
|
|
| |
llvm-svn: 75446
|
|
|
|
| |
llvm-svn: 75021
|
|
|
|
|
|
|
| |
when struct variables with GC'able members are copied into.
Will provide a test case later.
llvm-svn: 74984
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
ternary operator.
llvm-svn: 72842
|
|
|
|
| |
llvm-svn: 72803
|
|
|
|
| |
llvm-svn: 72655
|
|
|
|
| |
llvm-svn: 72649
|
|
|
|
| |
llvm-svn: 72648
|
|
|
|
| |
llvm-svn: 72633
|
|
|
|
|
|
|
| |
any body can spot codegen bugs with volatile, or knows of any in the
bug database, let me know.
llvm-svn: 72572
|
|
|
|
|
|
|
| |
getUnqualifiedType() doesn't strip off all qualifiers for non-canonical
types.
llvm-svn: 72552
|