| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 111795
|
|
|
|
| |
llvm-svn: 111768
|
|
|
|
| |
llvm-svn: 111733
|
|
|
|
| |
llvm-svn: 111675
|
|
|
|
|
|
|
|
|
| |
- move DeclSpec &c into the Sema library
- move ParseAST into the Parse library
Reflect this change in a thousand different includes.
Reflect this change in the link orders.
llvm-svn: 111667
|
|
|
|
|
|
|
| |
non-fragile abi mode as sizes are not statically known.
Fixes radar 8315734.
llvm-svn: 111191
|
|
|
|
|
|
|
|
| |
(nonfragile-abi2), do not consider 'ivar' access
in class methods. Also, improve on diagnostics.
Radar 8304561.
llvm-svn: 111023
|
|
|
|
| |
llvm-svn: 110996
|
|
|
|
|
|
|
|
| |
from GCC's in that we warn on *any* increase in alignment requirements, not
just those that are enforced by hardware. Please let us know if this causes
major problems for you (which it shouldn't, since it's an optional warning).
llvm-svn: 110959
|
|
|
|
| |
llvm-svn: 110945
|
|
|
|
| |
llvm-svn: 110860
|
|
|
|
| |
llvm-svn: 110807
|
|
|
|
| |
llvm-svn: 110666
|
|
|
|
| |
llvm-svn: 110663
|
|
|
|
|
|
| |
sure to clear out the LookupResult structure after looking into each class.
llvm-svn: 110615
|
|
|
|
|
|
| |
conversions. Fixes PR7443.
llvm-svn: 110519
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This takes some trickery since CastExpr has subclasses (and indeed,
is abstract).
Also, smoosh the CastKind into the bitfield from Expr.
Drops two words of storage from Expr in the common case of expressions
which don't need inheritance paths. Avoids a separate allocation and
another word of overhead in cases needing inheritance paths. Also has
the advantage of not leaking memory, since destructors for AST nodes are
never run.
llvm-svn: 110507
|
|
|
|
|
|
|
| |
dependent in ActOnIdExpression. (This issue only shows up with member
operators because an operator is never a type.)
llvm-svn: 110486
|
|
|
|
|
|
| |
vectors, from Anton Yartsev!
llvm-svn: 110437
|
|
|
|
|
|
|
|
| |
this breaks something.
I'll wait a few days before cleaning out UnaryOperator::OffsetOf.
llvm-svn: 110328
|
|
|
|
|
|
| |
offsetof expressions.
llvm-svn: 110327
|
|
|
|
|
|
|
|
| |
the else clause. The problem is that it's overly zealous and will respond to
uses in assignments, or after assignments. We should bring this back once we
can do it right. Fixes PR7100.
llvm-svn: 110314
|
|
|
|
|
|
|
| |
auto-synthesized (nonfragile-abi2 specific).
Fixes radar 8251648.
llvm-svn: 109866
|
|
|
|
|
|
|
| |
variables to those in file scope (nonfragile-abi2).
Fixes radar 8248681.
llvm-svn: 109758
|
|
|
|
|
|
|
| |
one because we're referencing a variable of type NSString &), the
resulting type is an ObjCObjectPointerType.
llvm-svn: 109753
|
|
|
|
|
|
| |
qualified name. Fixes <rdar://problem/8231724>.
llvm-svn: 109682
|
|
|
|
| |
llvm-svn: 109537
|
|
|
|
| |
llvm-svn: 109532
|
|
|
|
|
|
| |
since we aren't going to be calling them ever.
llvm-svn: 109377
|
|
|
|
|
|
|
|
|
| |
when the RHS of the ||/&& is ever 0 or 1. This handles a variety of
creative idioms for "true" used in C programs and fixes many false
positives at the expense of a few false negatives. This fixes
rdar://8230351.
llvm-svn: 109314
|
|
|
|
|
|
| |
Radar 8218839.
llvm-svn: 109272
|
|
|
|
|
|
|
|
|
|
|
| |
them as such. Type::is(Signed|Unsigned|)IntegerType() now return false
for vector types, and new functions
has(Signed|Unsigned|)IntegerRepresentation() cover integer types and
vector-of-integer types. This fixes a bunch of latent bugs.
Patch from Anton Yartsev!
llvm-svn: 109229
|
|
|
|
|
|
|
| |
of same name. In nonfragile-abi2, lookup accesses a synthesized
ivar. This is a transition warning. Radar 8225011.
llvm-svn: 109197
|
|
|
|
|
|
|
|
|
|
|
|
| |
behavior. Note that
GCC emits a warning instead of an error when using an unavailable Objective-C protocol, so now
Clang's behavior is more strict in this case, but more consistent. We will need to see how much
this fires on real code and determine whether this case should be downgraded to a warning.
Fixes <rdar://problem/8213093>.
llvm-svn: 109033
|
|
|
|
| |
llvm-svn: 108807
|
|
|
|
|
|
| |
and a minor cleanup.
llvm-svn: 108707
|
|
|
|
|
|
|
| |
incomplete union (PR5692) and incomplete enum, and fixes obscure
accepts-invalid on cast to incomplete struct.
llvm-svn: 108630
|
|
|
|
|
|
|
| |
part of the new property synthesis by default.
wip.
llvm-svn: 108599
|
|
|
|
|
|
|
| |
Don't warn about "logically bool" expressions on the RHS,
even if they fold to a constant.
llvm-svn: 108388
|
|
|
|
|
|
| |
as well. Fixes radar 7975788.
llvm-svn: 108333
|
|
|
|
|
|
|
|
|
|
|
| |
t2.c:2:12: warning: use of logical && with constant operand; switch to bitwise &
or remove constant [-Wlogical-bitwise-confusion]
return x && 4;
^ ~
wording improvement suggestions are welcome.
llvm-svn: 108260
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(e.g., a call, cast, etc.), immediately adjust the expression's type
to strip cv-qualifiers off of all non-class types (in C++) or all
types (in C). This effectively extends my previous fix for PR7463,
which was restricted to calls, to other kinds of expressions within
similar characteristics. I've audited every use of
getNonReferenceType() in the code base, switching to the newly-renamed
getNonLValueExprType() where necessary.
Big thanks to Eli for pointing out just how incomplete my original fix
for PR7463 actually was. We've been handling cv-qualifiers on rvalues
wrong for a very, very long time. Fixes PR7463.
llvm-svn: 108253
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
strip cv-qualifiers from the expression's type when the language calls
for it: in C, that's all the time, while C++ only does it for
non-class types.
Centralized the computation of the call expression type in
QualType::getCallResultType() and some helper functions in other nodes
(FunctionDecl, ObjCMethodDecl, FunctionType), and updated all relevant
callers of getResultType() to getCallResultType().
Fixes PR7598 and PR7463, along with a bunch of getResultType() call
sites that weren't stripping references off the result type (nothing
stripped cv-qualifiers properly before this change).
llvm-svn: 108234
|
|
|
|
|
|
| |
on the fly when constructing it.
llvm-svn: 108166
|
|
|
|
|
|
| |
constructor.
llvm-svn: 108157
|
|
|
|
|
|
|
|
|
|
|
|
| |
around by exempting enums from the check, but this doesn't handle a lot of
cases. A better approach is to directly check if the operator comes from
a macro expansion.
I've removed a reference to the rdar that originally led to the enum
suppression when removing it's overly contrived test case. Let me know if that
number or a more reasilistic test case involving enums is still needed.
llvm-svn: 108128
|
|
|
|
|
|
|
|
|
|
| |
default arguments to template parameters don't have a DeclContext when
instantiated, and so we can't detect that we're in an instantiation context as
opposed to the definition context. However, it fixes the more commonly-occuring
cases in TMP code that use devolve to this type of tautology after
substitution.
llvm-svn: 108044
|
|
|
|
|
|
| |
be a dependent expression when its is built.
llvm-svn: 108026
|
|
|
|
| |
llvm-svn: 108000
|
|
|
|
|
|
|
| |
a template, be sure to include the template arguments from the
injected-class-name. Fixes PR7587.
llvm-svn: 107895
|