| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
must match start and end location of the expression
as expected by the rewriter client. Fixes // rdar: // 8520727
llvm-svn: 115934
|
|
|
|
|
|
|
| |
And its documentation.
Finishes off // rdar: // 6734520.
llvm-svn: 115862
|
|
|
|
| |
llvm-svn: 115856
|
|
|
|
|
|
|
| |
attribute(unavailable) to do next.
// rdar:// 6734520.
llvm-svn: 115842
|
|
|
|
|
|
|
|
| |
waiting until we think we need it: we didn't catch all of the places
where we actually needed it, and we probably wouldn't ever. Fixes a
C++ PCH crasher.
llvm-svn: 115621
|
|
|
|
|
|
| |
vla. Implements pr7827.
llvm-svn: 114737
|
|
|
|
|
|
| |
valid result from ActOnIdExpression
llvm-svn: 114548
|
|
|
|
| |
llvm-svn: 114371
|
|
|
|
|
|
|
| |
actually resolves to a particular function. Fixes PR8181, from Faisal
Vali!
llvm-svn: 114331
|
|
|
|
| |
llvm-svn: 114315
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LHS and when conditional expression is an array. Since
it will be decayed, saved expression must be saved with
decayed expression. This is necessary to preserve semantics
of this extension (and prevent an IRGen crash which expects
an array to always be decayed). I am sure there will be other
cases in c++ (aggregate conditionals for example) when saving of the
expression must happen after some transformation on conditional
expression has happened.
Doug, please review. Fixes // rdar://8446940
llvm-svn: 114296
|
|
|
|
|
|
| |
implicit union values for the transparent_union extension.
llvm-svn: 114236
|
|
|
|
|
|
| |
Fixes radar 8437253.
llvm-svn: 114207
|
|
|
|
|
|
|
|
|
|
|
| |
RHS to see if they
are expanded from macros (and if so, omit the warning). Previously we were just looking at the
location of the binary expression.
Fixes <rdar://problem/8435950>.
llvm-svn: 114044
|
|
|
|
|
|
|
| |
copy initialization before passing it to
a setter. Fixes radar 8427922.
llvm-svn: 113885
|
|
|
|
|
|
|
|
|
| |
"used", at the time that the default argument itself is used, also
mark destructors that will be called by this expression. This fixes a
regression that I introduced in r113700, which broke WebKit, and fixes
<rdar://problem/8427926>.
llvm-svn: 113883
|
|
|
|
| |
llvm-svn: 113740
|
|
|
|
|
|
|
|
| |
declarations in potentially-evaluated subexpressions, about
recursion. Fixes the release-mode self-host failure I introduced in
r113700.
llvm-svn: 113708
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
used in the default function argument as "used". Instead, when we
actually use the default argument, make another pass over the
expression to mark any used declarations as "used" at that point. This
addresses two kinds of related problems:
1) We were marking some declarations "used" that shouldn't be,
because we were marking them too eagerly.
2) We were failing to mark some declarations as "used" when we
should, if the first time it was instantiated happened to be an
unevaluated context, we wouldn't mark them again at a later point.
I've also added a potentially-handy visitor class template
EvaluatedExprVisitor, which only visits the potentially-evaluated
subexpressions of an expression. I bet this would have been useful for
noexcept...
Fixes PR5810 and PR8127.
llvm-svn: 113700
|
|
|
|
|
|
|
|
| |
follows objective's semantics and is not overload'able
with an assignment operator. Fixes a crash and a missing
diagnostics. Radar 8379892.
llvm-svn: 113555
|
|
|
|
|
|
|
|
| |
with comma-separated lists. We never actually used the comma
locations, nor did we store them in the AST, but we did manage to
waste time during template instantiation to produce fake locations.
llvm-svn: 113495
|
|
|
|
| |
llvm-svn: 113124
|
|
|
|
| |
llvm-svn: 112945
|
|
|
|
|
|
|
| |
This is also pr7726 and wip. No change in functionality
at this time.
llvm-svn: 112612
|
|
|
|
|
|
| |
some issues being sorted out.
llvm-svn: 112493
|
|
|
|
|
|
|
| |
when we're taking the address of a unresolvable value, it might be an
implicit member access. Fixes some Boost.Spirit regressions.
llvm-svn: 112487
|
|
|
|
|
|
| |
so please review echristo and let me know if the logic is wrong now.
llvm-svn: 112466
|
|
|
|
|
|
|
|
|
|
| |
The extra data stored on user-defined literal Tokens is stored in extra
allocated memory, which is managed by the PreprocessorLexer because there isn't
a better place to put it that makes sure it gets deallocated, but only after
it's used up. My testing has shown no significant slowdown as a result, but
independent testing would be appreciated.
llvm-svn: 112458
|
|
|
|
|
|
|
|
|
|
|
| |
For large floats/integers, APFloat/APInt will allocate memory from the heap to represent these numbers.
Unfortunately, when we use a BumpPtrAllocator to allocate IntegerLiteral/FloatingLiteral nodes the memory associated with
the APFloat/APInt values will never get freed.
I introduce the class 'APNumericStorage' which uses ASTContext's allocator for memory allocation and is used internally by FloatingLiteral/IntegerLiteral.
Fixes rdar://7637185
llvm-svn: 112361
|
|
|
|
| |
llvm-svn: 112346
|
|
|
|
|
|
|
| |
reordering and redefinition issues still may linger,
I plan to nail them next
llvm-svn: 112333
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
an '&' expression from the second caller of ActOnIdExpression.
Teach template argument deduction that an overloaded id-expression
doesn't give a valid type for deduction purposes to a non-static
member function unless the expression has the correct syntactic
form.
Teach ActOnIdExpression that it shouldn't try to create implicit
member expressions for '&function', because this isn't a
permitted form of use for member functions.
Teach CheckAddressOfOperand to diagnose these more carefully.
Some of these cases aren't reachable right now because earlier
diagnostics interrupt them.
llvm-svn: 112258
|
|
|
|
|
|
| |
This lets us remove Sema.h's dependency on Expr.h and Decl.h.
llvm-svn: 112156
|
|
|
|
|
|
|
|
|
| |
vectors that are the same size. Fix up testcases accordingly and add a new one
to make sure we still error if lax vector conversions are disabled.
Fixes rdar://8328190
llvm-svn: 112122
|
|
|
|
|
|
|
| |
Clients of Sema don't need to know (for example) the list of diagnostics we
support.
llvm-svn: 112093
|
|
|
|
|
|
| |
to the new constants.
llvm-svn: 112047
|
|
|
|
|
|
| |
http://llvm.org/PR7923.
llvm-svn: 112045
|
|
|
|
| |
llvm-svn: 112044
|
|
|
|
|
|
| |
functionality changed.
llvm-svn: 112040
|
|
|
|
| |
llvm-svn: 112038
|
|
|
|
| |
llvm-svn: 112027
|
|
|
|
|
|
|
|
| |
only form pointers-to-member if the expression has the appropriate
form. This avoids assertions later on on invalid code, but also
allows us to properly resolve mixed-staticity overloads.
llvm-svn: 111987
|
|
|
|
|
|
| |
register variable (c++03 7.1.1P3). radar 8108252.
llvm-svn: 111977
|
|
|
|
| |
llvm-svn: 111904
|
|
|
|
|
|
|
| |
M-x query-replace-regexp
\(Sema::\|Action::\|Parser::\|\)Owning\(Expr\|Stmt\)Result -> \2Result
llvm-svn: 111903
|
|
|
|
| |
llvm-svn: 111901
|
|
|
|
|
|
| |
UnresolvedMemberExpr.
llvm-svn: 111899
|
|
|
|
| |
llvm-svn: 111863
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
constructors. We perform semantic checking when creating the definition, and
this isn't needed in certain contexts (value initialization) but is in others
(default initialization). This fixes PR7948.
We add explicit code to the default initialization path to ensure the
definition is both present and valid.
Doug, please review. I think this follows your latest suggestion, and it ended
up remarkably cleaner than I anticipated. Also let me know if similar logic
should be followed for destructors and copy-constructors.
llvm-svn: 111802
|
|
|
|
|
|
| |
through the parser.
llvm-svn: 111800
|