| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
out because there are still bugs left.
llvm-svn: 119722
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
store it on the expression node. Also store an "object kind",
which distinguishes ordinary "addressed" l-values (like
variable references and pointer dereferences) and bitfield,
@property, and vector-component l-values.
Currently we're not using these for much, but I aim to switch
pretty much everything calculating l-valueness over to them.
For now they shouldn't necessarily be trusted.
llvm-svn: 119685
|
|
|
|
| |
llvm-svn: 119678
|
|
|
|
|
|
| |
nonofragile-abi2. Fixes //rdar://8673791
llvm-svn: 119543
|
|
|
|
| |
llvm-svn: 119540
|
|
|
|
| |
llvm-svn: 119537
|
|
|
|
|
|
|
|
|
|
|
|
| |
assert(a || b && "bad");
since this is safe. This way we avoid a big source of such warnings which in this case are practically useless.
Note that we don't handle *all* cases where precedence wouldn't matter because of constants since
this is a bit costly to check, and IMO clarifying precedence with parentheses is good for
readability in general.
llvm-svn: 119533
|
|
|
|
| |
llvm-svn: 119381
|
|
|
|
|
|
|
| |
issue with runtime which I am discussing it with Blaine.
This is wip (so no test yet).
llvm-svn: 119368
|
|
|
|
| |
llvm-svn: 119326
|
|
|
|
| |
llvm-svn: 119141
|
|
|
|
| |
llvm-svn: 119138
|
|
|
|
|
|
|
|
|
|
| |
implicit conversions; the last batch was specific to promotions.
I think this is the full set we need. I do think dividing the cast
kinds into floating and integral is probably a good idea.
Annotate a *lot* more C casts with useful cast kinds.
llvm-svn: 119036
|
|
|
|
|
|
| |
between complex types.
llvm-svn: 118994
|
|
|
|
|
|
|
| |
operands appropriately. There are a lot of missing complex-related
cast kinds.
llvm-svn: 118993
|
|
|
|
| |
llvm-svn: 118966
|
|
|
|
|
|
| |
a test change, all for blocks. wip.
llvm-svn: 118745
|
|
|
|
|
|
| |
conditional operators. Fixes PR7863.
llvm-svn: 118631
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
That bug concerned the well-formedness of code such as (&ovl)(a, b,
c). GCC rejects the code, while EDG accepts it. On further study of the
standard, I see no support for EDG's position: in particular, C++
[over.over] does not list this as a context where we can take the
address of an overloaded function, C++ [over.call.func] does not
reference the address-of operator at any point, and C++ [expr.call]
claims that the function argument in a call is either a function
lvalue or a pointer-to-function; (&ovl) is neither.
llvm-svn: 118620
|
|
|
|
|
|
| |
with, e.g., (&f)(a, b, c). Fixes PR8013.
llvm-svn: 118508
|
|
|
|
|
|
|
|
| |
is complete.
Fixes rdar://8620582 & http://llvm.org/PR7905
llvm-svn: 118428
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
abstractions (e.g., TemplateArgumentListBuilder) that were designed to
support variadic templates. Only a few remnants of variadic templates
remain, in the parser (parsing template type parameter packs), AST
(template type parameter pack bits and TemplateArgument::Pack), and
Sema; these are expected to be used in a future implementation of
variadic templates.
But don't get too excited about that happening now.
llvm-svn: 118385
|
|
|
|
| |
llvm-svn: 118276
|
|
|
|
|
|
| |
pointer constant.
llvm-svn: 118234
|
|
|
|
|
|
|
|
|
| |
ensuring that they cover all of their child nodes. There's still a
clang_getCursor()-related issue with CXXFunctionalCastExprs with
CXXConstructExprs as children (see FIXME in the test case); I'll look
at that separately.
llvm-svn: 118132
|
|
|
|
|
|
| |
can be used to automatically synthesize an ivar.
llvm-svn: 118052
|
|
|
|
|
|
|
|
| |
calling it.
Also avoids IRGen crashes due to accepting invalid code.
llvm-svn: 117943
|
|
|
|
| |
llvm-svn: 117942
|
|
|
|
|
|
| |
// rdar: // 8600553.
llvm-svn: 117484
|
|
|
|
|
|
| |
statement-expression. // rdar: //8600553
llvm-svn: 117479
|
|
|
|
|
|
|
|
| |
until after we've checked/promoted the argument. Hopefully fixes the
Emacs regression due to my recent change that expanded type-checking
in the presence of K&R function definitions.
llvm-svn: 117353
|
|
|
|
|
|
|
| |
non-trivial copy constructors. // rdar: //8540501.
A test will be added to llvm nightly tests.
llvm-svn: 117324
|
|
|
|
|
|
| |
called. Fixes another aspect of PR8314.
llvm-svn: 117308
|
|
|
|
|
|
|
|
| |
function definition, we should still use a prototype to type-check and
convert the function arguments, if such a prototype exists. Fixes
PR8314.
llvm-svn: 117305
|
|
|
|
|
|
| |
Darin Adler!
llvm-svn: 117184
|
|
|
|
|
|
|
| |
kinds of lookup into Objective-C classes were tangled together, a
situation that was compounded by automatically synthesized ivars.
llvm-svn: 116907
|
|
|
|
|
|
|
| |
property synthesis mode, when dealing with legacy code.
Fixes //rdar: //8565343.
llvm-svn: 116846
|
|
|
|
|
|
|
|
| |
within a default argument), recurse into default arguments. Fixes
PR8401, a regression I introduced in r113700 while refactoring our
handling of "used" declarations in default arguments.
llvm-svn: 116817
|
|
|
|
| |
llvm-svn: 116624
|
|
|
|
|
|
|
| |
'super' as receiver of property or a setter/getter
methods. //rdar: //8525788
llvm-svn: 116483
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that are suppressed during template argument deduction. This change
queues diagnostics computed during template argument deduction. Then,
if the resulting function template specialization or partial
specialization is chosen by overload resolution or partial ordering
(respectively), we will emit the queued diagnostics at that point.
This addresses most of PR6784. However, the check for unnamed/local
template arguments (which existed before this change) is still only
skin-deep, and needs to be extended to look deeper into types. It must
be improved to finish PR6784.
llvm-svn: 116373
|
|
|
|
|
|
| |
This is tested by anon-union.exp in gdb testsuite.
llvm-svn: 116371
|
|
|
|
|
|
| |
require them to have complete types.
llvm-svn: 116297
|
|
|
|
| |
llvm-svn: 116289
|
|
|
|
| |
llvm-svn: 116287
|
|
|
|
|
|
|
| |
i.e. expressions with an internally-convenient type which should not be
appearing in generally valid, complete ASTs.
llvm-svn: 116281
|
|
|
|
|
|
|
|
|
|
|
| |
properties.
1. Generates the AST for lexical info. of accessing
getter/setter methods using dot-syntax notation.
This fixes //rdar: //8528170.
2. Modifes rewriter to handle the AST putout in 1.
3. Supportes in rewriter ObjCImplicitSetterGetter ASTs.
llvm-svn: 116237
|
|
|
|
|
|
|
|
| |
messages.
Store pointer and length of the message in DelayedDiagnostic and hide the gory union details.
llvm-svn: 116153
|
|
|
|
|
|
| |
bit by me).
llvm-svn: 116122
|
|
|
|
| |
llvm-svn: 115979
|