| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 121246
|
|
|
|
|
|
|
|
| |
disambiguation.
Fixes rdar://8739801.
llvm-svn: 121228
|
|
|
|
| |
llvm-svn: 121221
|
|
|
|
| |
llvm-svn: 121214
|
|
|
|
| |
llvm-svn: 121210
|
|
|
|
| |
llvm-svn: 121194
|
|
|
|
|
|
| |
the failed compile in PR8751.
llvm-svn: 121192
|
|
|
|
| |
llvm-svn: 121191
|
|
|
|
| |
llvm-svn: 121189
|
|
|
|
| |
llvm-svn: 121188
|
|
|
|
| |
llvm-svn: 121174
|
|
|
|
|
|
| |
(@synthesize and @dynamic).
llvm-svn: 121159
|
|
|
|
|
|
| |
unsigned integer" warnings.
llvm-svn: 121143
|
|
|
|
| |
llvm-svn: 121139
|
|
|
|
|
|
| |
testsuite searches for.
llvm-svn: 121137
|
|
|
|
|
|
|
|
| |
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method
trunc(), to be const and to return a new value instead of modifying the
object in place.
llvm-svn: 121121
|
|
|
|
| |
llvm-svn: 121097
|
|
|
|
|
|
| |
Radar 8681774.
llvm-svn: 121089
|
|
|
|
| |
llvm-svn: 121088
|
|
|
|
| |
llvm-svn: 121084
|
|
|
|
|
|
|
| |
I'm not opposed to the idea in concept, but there's no point in preserving
abortive experiments.
llvm-svn: 121083
|
|
|
|
|
|
| |
NULL/invalid expression
llvm-svn: 121081
|
|
|
|
| |
llvm-svn: 121075
|
|
|
|
|
|
| |
New AST node introduced: BinaryTypeTraitExpr; to be reused for more intrinsics.
llvm-svn: 121074
|
|
|
|
| |
llvm-svn: 121073
|
|
|
|
|
|
|
|
| |
cv-qualification conversions. More specifically, there's an implicit
cv-qualification conversion (even one that drops qualifiers) when
converting to 'id' or qualified 'id'. Fixes <rdar://problem/8734046>.
llvm-svn: 121047
|
|
|
|
|
|
|
|
|
|
| |
FunctionArrayLvalueConversion but without the function/array decay. Generally
this is only appropriate for use sites that know the type of the expression
and thus that it can't be subject to the decays.
Also make sure we do lvalue-to-rvalue on the bases of ivar references.
llvm-svn: 121035
|
|
|
|
|
|
|
| |
Add "clang indent" as a possible project, we really really
need it. :)
llvm-svn: 121030
|
|
|
|
| |
llvm-svn: 121029
|
|
|
|
|
|
| |
introduced in r121023.
llvm-svn: 121025
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
My previous attempt at solving the compile-time problem with many
redeclarations of the same entity cached both linkage and visibility,
while this patch only tackles linkage. There are several reasons for
this difference:
- Linkage is a language concept, and is evaluated many times during
semantic analysis and codegen, while visibility is only a
code-generation concept that is evaluated only once per (unique)
declaration. Hence, we *must* optimize linkage calculations but
don't need to optimize visibility computation.
- Once we know the linkage of a declaration, subsequent
redeclarations can't change that linkage. Hence, cache
invalidation is far simpler than for visibility, where a later
redeclaration can completely change the visibility.
- We have 3 spare bits in Decl to store the linkage cache, so the
cache doesn't increase the size of declarations. With the
visibility+linkage cache, NamedDecl got larger.
llvm-svn: 121023
|
|
|
|
|
|
| |
Fixes PR8742.
llvm-svn: 121022
|
|
|
|
|
|
|
|
| |
of calling Decl's setUsed directly.
Thanks to John for the hint!
llvm-svn: 121014
|
|
|
|
|
|
| |
diagnostics in HandleCleanupAttr.
llvm-svn: 121013
|
|
|
|
|
|
|
|
|
| |
and visibility of declarations, because it was extremely messy and it
increased the size of NamedDecl.
An improved implementation is forthcoming.
llvm-svn: 121012
|
|
|
|
|
|
| |
routines.
llvm-svn: 121007
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
so that's not a valid thing to do at all. Instead, switch to a ValueDecl
argument, the template isn't really necessary here.
When handling the types explicitly in the code, it becomes awkward to cerate
the CXXBaseOrMemberInitializer object in so many places. Re-flow the code to
calculate the Init expression first, and then create the initializer. If this
is too gross, we can factor the init expression logic into helper functions,
but it's not past my threshold yet.
llvm-svn: 120997
|
|
|
|
|
|
| |
reason this is limited to C++, and it's certainly not limited to temporaries.
llvm-svn: 120996
|
|
|
|
|
|
|
|
|
|
| |
the LHS, or else the pointer might be invalid. This is kindof dumb, but
go ahead and make sure we're doing that for l-value scalar assignment,
which fixes a miscompile of obj-c++.dg/block-seq.mm.
Leave a FIXME for how to solve this problem for agg __blocks.
llvm-svn: 120992
|
|
|
|
|
|
|
|
|
| |
build one when either of the operands calls itself type-dependent;
previously we were building when one of the operand types was dependent,
which is not always the same thing and which can lead to unfortunate
inconsistencies later. Fixes PR8739.
llvm-svn: 120990
|
|
|
|
| |
llvm-svn: 120970
|
|
|
|
|
|
|
| |
Environment::lookupExpr() and move its implementation
out-of-line.
llvm-svn: 120969
|
|
|
|
| |
llvm-svn: 120968
|
|
|
|
|
|
|
|
|
| |
Fix a bug in the emission of complex compound assignment l-values.
Introduce a method to emit an expression whose value isn't relevant.
Make that method evaluate its operand as an l-value if it is one.
Fixes our volatile compliance in C++.
llvm-svn: 120931
|
|
|
|
| |
llvm-svn: 120925
|
|
|
|
| |
llvm-svn: 120924
|
|
|
|
|
|
| |
appended are padding.
llvm-svn: 120922
|
|
|
|
|
|
| |
AST.
llvm-svn: 120919
|
|
|
|
| |
llvm-svn: 120905
|
|
|
|
| |
llvm-svn: 120904
|