| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
functionality change.
llvm-svn: 86407
|
|
|
|
| |
llvm-svn: 85408
|
|
|
|
| |
llvm-svn: 85373
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 84947
|
|
|
|
|
|
| |
both scalar and aggregates.
llvm-svn: 84910
|
|
|
|
|
|
| |
for base classe members as well. Test case enhanced for this.
llvm-svn: 84780
|
|
|
|
| |
llvm-svn: 84771
|
|
|
|
|
|
| |
as argument to a function call. Removes a FIXME.
llvm-svn: 84694
|
|
|
|
|
|
| |
PR5227.
llvm-svn: 84518
|
|
|
|
| |
llvm-svn: 84456
|
|
|
|
|
|
| |
temporaries created as on the RHS are destroyed before emitting the dtor for the temporary.
llvm-svn: 84451
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
struct A { };
struct B : A { };
void f() {
const A& a = B();
}
correctly. (This now does the offset conversion if necessary and calls the destructor when a goes out of scope).
llvm-svn: 84162
|
|
|
|
| |
llvm-svn: 83964
|
|
|
|
| |
llvm-svn: 83913
|
|
|
|
|
|
| |
This is not yet enabled.
llvm-svn: 83399
|
|
|
|
|
|
| |
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
|