| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 145845
|
| |
|
|
|
|
| |
types. Patch from Dmitri Rubinstein!
llvm-svn: 145776
|
| |
|
|
|
|
|
| |
a class is marked 'final', from Alberto Ganesh Barbati! Fixes
PR11462.
llvm-svn: 145775
|
| |
|
|
|
|
|
| |
implicitly generated in a translation unit. Modules will need this
information to identify the actual imports that occurred.
llvm-svn: 145734
|
| |
|
|
|
|
|
| |
implicit ImportDecl in the translation unit to record the presence of
the import.
llvm-svn: 145727
|
| |
|
|
|
|
|
|
| |
__import_module__ std.vector;
in the AST.
llvm-svn: 145725
|
| |
|
|
|
|
| |
<rdar://problem/10494810> and PR9560.
llvm-svn: 145673
|
| |
|
|
| |
llvm-svn: 145581
|
| |
|
|
|
|
|
|
| |
in type signatures have external linkage.
Fixes rdar://10058317.
llvm-svn: 145551
|
| |
|
|
|
|
|
|
|
| |
explicit template specializations (which represent actual functions somebody wrote).
Along the way, refactor some other code which similarly cares about whether or
not they are looking at a template instantiation.
llvm-svn: 145547
|
| |
|
|
| |
llvm-svn: 145544
|
| |
|
|
|
|
| |
print out the source expression for OpaqueValueExpr.
llvm-svn: 145524
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new metadata are method @encode strings with additional data.
1. Each Objective-C object is marked with its class name and protocol names.
The same is done for property @encode already.
2. Each block object is marked with its function prototype's @encoding. For
example, a method parameter that is a block object that itself returns void
and takes an int would look like:
@?<v@?i>
These new method @encode strings are stored in a single array pointed to by structs protocol_t and objc_protocol_ext.
Patch provided by Greg Parker!
llvm-svn: 145469
|
| |
|
|
|
|
| |
array of objects with non-trivial destructors. PR11365.
llvm-svn: 145203
|
| |
|
|
|
|
| |
This supports single-element initializer lists for references according to DR1288, as well as creating temporaries and binding to them for other initializer lists.
llvm-svn: 145186
|
| |
|
|
|
|
|
| |
This fixes a crasher in tools like Include-What-You-Use which examine such
arguments. Patch from Dean Sturtevant at Google!
llvm-svn: 145077
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
semantics and defaults as the corresponding g++ arguments. The historical g++
argument -ftemplate-depth-N is kept for compatibility, but modern g++ versions
no longer document that option.
Add -cc1 argument -fconstexpr-depth N to implement the corresponding
functionality.
The -ftemplate-depth=N part of this fixes PR9890.
llvm-svn: 145045
|
| |
|
|
| |
llvm-svn: 145002
|
| |
|
|
|
|
| |
parsing or false to abort parsing.
llvm-svn: 144943
|
| |
|
|
|
|
| |
import TranslationUnitDecls.
llvm-svn: 144934
|
| |
|
|
|
|
| |
and base-to-derived casts, and add proper handling of temporaries.
llvm-svn: 144926
|
| |
|
|
| |
llvm-svn: 144799
|
| |
|
|
|
|
|
| |
not safely derived. Don't allow lvalue-to-rvalue conversions on the result of
dereferencing such a pointer.
llvm-svn: 144783
|
| |
|
|
|
|
|
|
| |
'ImplicitInterfaceDecl',
no need to store it in another field.
llvm-svn: 144624
|
| |
|
|
|
|
| |
<rdar://problem/10416568>.
llvm-svn: 144572
|
| |
|
|
|
|
|
|
| |
of the first type is the same as the aka string of the second type, but both
types are different. Update the logic to print an aka for the first type to
show that they are different.
llvm-svn: 144558
|
| |
|
|
| |
llvm-svn: 144505
|
| |
|
|
|
|
|
|
| |
or MemberExpr which refers to it. As a side-effect, MemberExprs which refer to
static member functions and static data members are now emitted as constant
expressions.
llvm-svn: 144468
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of its categories because
it is going to be rewritten (and the chain will be serialized again), otherwise we may form a cycle in its
categories list when deserializing.
Also introduce ASTMutationListener::CompletedObjCForwardRef to notify that a forward reference
was completed; using Decl's isChangedSinceDeserialization/setChangedSinceDeserialization
is bug inducing and kinda gross, we should phase it out.
Fixes infinite loop in rdar://10418538.
llvm-svn: 144465
|
| |
|
|
|
|
|
|
| |
superclass information is imported before validating
it. This fixes spurious "incompatible superclasses"
errors in LLDB.
llvm-svn: 144393
|
| |
|
|
| |
llvm-svn: 144382
|
| |
|
|
|
|
| |
please the buildbots.
llvm-svn: 144375
|
| |
|
|
|
|
|
|
|
|
|
| |
reinstates r144273; a combination of r144333's fix for NoOp rvalue-to-lvalue
casts and some corresponding changes here resolve the regression which that
caused.
This patch also adds support for some additional forms of member function call,
along with additional testing.
llvm-svn: 144369
|
| |
|
|
| |
llvm-svn: 144296
|
| |
|
|
| |
llvm-svn: 144273
|
| |
|
|
|
|
|
| |
literal types, as well as derived-to-base casts for lvalues and
derived-to-virtual-base casts.
llvm-svn: 144265
|
| |
|
|
|
|
|
| |
but it is sometimes useful to track blocks. Do so. Also
optimize the storage of these expressions.
llvm-svn: 144263
|
| |
|
|
|
|
|
| |
is currently too inefficient to allow us to use it for array initializers, but
fortunately we usually don't yet need to evaluate such initializers.
llvm-svn: 144260
|
| |
|
|
| |
llvm-svn: 144156
|
| |
|
|
| |
llvm-svn: 144094
|
| |
|
|
|
|
| |
Based on work by Dmitry Sokolov!
llvm-svn: 144072
|
| |
|
|
|
|
| |
Membarth, test case by myself.
llvm-svn: 144063
|
| |
|
|
|
|
|
|
|
| |
written, instead of the resolved storage class, which might not be
legal to specify on the declaration (such as out-of-line definitions
of static class members in C++, and __local variables in OpenCL).
Initial patch by Richard Membarth.
llvm-svn: 144062
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
expression evaluation:
- When folding a non-value-dependent expression, we may try to use the
initializer of a value-dependent variable. If that happens, give up.
- In C++98, actually check that a const, non-volatile DeclRefExpr inside an ICE
is of integral or enumeration type (a reference isn't OK!)
- In C++11, DeclRefExprs for objects of const literal type initialized with
value-dependent expressions are themselves value-dependent.
- So are references initialized with value-dependent expressions (though this
case is missing from the C++11 standard, along with many others).
llvm-svn: 144056
|
| |
|
|
|
|
|
|
|
|
|
|
| |
default", make a note of which is used when creating the
initial declaration. Previously, we would wait until later to handle
default/delete as a definition, but this is too late: when adding the
declaration, we already treated the declaration as "user-provided"
when in fact it was merely "user-declared".
Fixes PR10861 and PR10442, along with a bunch of FIXMEs.
llvm-svn: 144011
|
| |
|
|
|
|
|
|
| |
__int128_t and __uint128_t. Short and unsigned short integer literals support
is only to work around a crasher as reported in PR11179 and will be removed
once Clang no longer builds short integer literals.
llvm-svn: 143977
|
| |
|
|
| |
llvm-svn: 143922
|
| |
|
|
| |
llvm-svn: 143914
|
| |
|
|
| |
llvm-svn: 143910
|
| |
|
|
|
|
| |
core constant value down to an APValue.
llvm-svn: 143909
|