| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
it is placed in a position which is never ambiguous with a
reference-to-function type. This follows some recent discussion
and ensuing proposal on cxx-abi-dev. It is not necessary to
change the mangling of CV-qualifiers because you cannot
apply CV-qualification in the normal sense to a function type.
It is not necessary to change the mangling of ref-qualifiers on
method declarations because they appear in an unambiguous
location.
In addition, mangle CV-qualifiers and ref-qualifiers on function
types when they occur in positions other than member pointers
(that is, when they appear as template arguments).
This is a minor ABI break with previous releases of clang. It
is not considered critical because (1) ref-qualifiers are
relatively rare, since AFAIK we're the only implementing compiler,
and (2) they're particularly likely to come up in contexts that
do not rely on the ODR for correctness. We apologize for any
inconvenience; this is the right thing to do.
llvm-svn: 156794
|
| |
|
|
|
|
|
|
| |
the receiver in parentheses when necessary.
Part of rdar://11438360
llvm-svn: 156789
|
| |
|
|
|
|
| |
// rdar://11356439
llvm-svn: 156788
|
| |
|
|
|
|
|
| |
permitted as a Microsoft extension. Patch by William Wilson! (Plus some minor
tweaking by me.)
llvm-svn: 156786
|
| |
|
|
|
|
|
|
| |
cast to 'id' for any argument that requires it.
Part of rdar://11438360.
llvm-svn: 156782
|
| |
|
|
|
|
| |
expression is treated as an lvalue.
llvm-svn: 156781
|
| |
|
|
|
|
| |
Patch from Andrew C. Morrow.
llvm-svn: 156771
|
| |
|
|
|
|
|
|
|
|
| |
We check the address of the last element accessed, but with 0 calculating that
address results in element -1. This patch bails out early (and avoids a bunch
of other work at that).
Fixes PR12807.
llvm-svn: 156769
|
| |
|
|
|
|
|
|
|
| |
if (Inherited)
Attr->setInherited(true);
To a central location.
llvm-svn: 156728
|
| |
|
|
| |
llvm-svn: 156727
|
| |
|
|
|
|
|
|
| |
Currently cold functions are marked with the "optsize" attribute in CodeGen
so they are always optimized for size. The hot attribute is just ignored,
LLVM doesn't have a way to express hotness at the moment.
llvm-svn: 156723
|
| |
|
|
|
|
|
|
| |
Once we've found a "good" method, we don't need to check its argument types
again. (Even if we might have later found a "bad" method, we were already
caching the method we first looked up.)
llvm-svn: 156719
|
| |
|
|
| |
llvm-svn: 156718
|
| |
|
|
| |
llvm-svn: 156717
|
| |
|
|
| |
llvm-svn: 156715
|
| |
|
|
|
|
|
|
| |
Also, unify some diagnostics for boxed expressions that have the same form.
Fixes PR12804.
llvm-svn: 156713
|
| |
|
|
| |
llvm-svn: 156699
|
| |
|
|
|
|
|
| |
attribute, rather than requiring multiple cases in consumers of this
information.
llvm-svn: 156666
|
| |
|
|
| |
llvm-svn: 156661
|
| |
|
|
|
|
|
|
| |
__attribute__((aligned)). Fixes <rdar://problem/11435441>, a
regression I introduced in r156003. This is the narrow fix; a more
comprehensive fix is coming.
llvm-svn: 156657
|
| |
|
|
|
|
|
| |
the correct type and the correct source location in the diagnostic. Spotted by
Johannes Schaub!
llvm-svn: 156654
|
| |
|
|
| |
llvm-svn: 156653
|
| |
|
|
|
|
|
| |
register size of the target architecture.
llvm-svn: 156650
|
| |
|
|
|
|
|
|
| |
file buffer, not at the start of lexing.
Fixes assertion hit in format diagnostics. rdar://11418366
llvm-svn: 156647
|
| |
|
|
|
|
|
| |
A vector should be returned via the hidden pointer argument except if its size
is equal to or smaller than 16-bytes and the target ABI is N32 or N64.
llvm-svn: 156642
|
| |
|
|
| |
llvm-svn: 156630
|
| |
|
|
|
|
|
| |
which expects exactly one argument, include the name of the argument in
the diagnostic text. Patch by Terry Long!
llvm-svn: 156607
|
| |
|
|
| |
llvm-svn: 156597
|
| |
|
|
|
|
|
|
| |
compilers and expected defaults.
Part of rdar://11325849
llvm-svn: 156592
|
| |
|
|
|
|
|
|
| |
numberWithBool:/numberWithInteger:/numberWithUnsignedInteger: NSNumber selectors.
rdar://11428703
llvm-svn: 156583
|
| |
|
|
| |
llvm-svn: 156582
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(b) had
a horrible bug in GetLazyBindings where we falsely appended a field suffix when traversing 3 or more
layers of lazy bindings. I don't have a reduced test case yet; but I have added the original source
to an internal regression test suite. I'll see about coming up with a reduced test case.
Fixes <rdar://problem/11405978> (for real).
llvm-svn: 156580
|
| |
|
|
|
|
|
|
|
|
|
| |
to reason about.
As part of taint propagation, we now allow creation of non-integer
symbolic expressions like a cast from int to float.
Addresses PR12511 (radar://11215362).
llvm-svn: 156578
|
| |
|
|
| |
llvm-svn: 156567
|
| |
|
|
|
|
| |
rdar://11426994
llvm-svn: 156565
|
| |
|
|
| |
llvm-svn: 156564
|
| |
|
|
|
|
| |
Fixes assertion hit in the preprocessing record. rdar://11426523
llvm-svn: 156557
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
from the frontend when the location is invalid and the SourceManager null.
Instead of keeping the SourceManager object in DiagnosticRenderer, propagate it
to the calls accordingly (as reference when it is expected to not be null, or pointer
when it may be null).
This effectively makes DiagnosticRenderer not tied to a specific SourceManager,
removing a hack from TextDiagnosticPrinter.
rdar://11386874
llvm-svn: 156536
|
| |
|
|
| |
llvm-svn: 156534
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
// FIXME: This needs to happen before we merge declarations. Then,
// let attribute merging cope with attribute conflicts.
This was already being done for variables, but for functions we were merging
then first and then applying the attributes. To avoid duplicating merging
logic, some of the helpers in SemaDeclAttr.cpp become methods that can
handle merging two attributes in one decl or inheriting attributes from one
decl to another.
With this change we are now able to produce errors for variables with
incompatible visibility attributes or warn about unused dllimports in
variables.
This changes the attribute list iteration back to being in reverse source
code order, as that matches what decl merging does and avoids differentiating
the two cases is the merge*Attr methods.
llvm-svn: 156531
|
| |
|
|
|
|
|
|
|
|
| |
We report a leak at a point a leaked variable is no longer accessible.
The statement that happens to be at that point is not relevant to the
leak diagnostic and, thus, should not be highlighted.
radar://11178519
llvm-svn: 156530
|
| |
|
|
|
|
|
| |
'*' on objective-c class name was misplaced.
// rdar://11311333
llvm-svn: 156517
|
| |
|
|
|
|
| |
-Wconditional-uninitialized into -Wuninitialized.
llvm-svn: 156512
|
| |
|
|
|
|
|
| |
parser, and use it to emit better diagnostics in cases where an identifer
can't be looked up as a type name.
llvm-svn: 156508
|
| |
|
|
|
|
|
| |
normal parse for token sequences like 'vector pixel foo'. This incidentally also
fixes a couple of wrong-parse issues.
llvm-svn: 156503
|
| |
|
|
| |
llvm-svn: 156502
|
| |
|
|
| |
llvm-svn: 156501
|
| |
|
|
| |
llvm-svn: 156498
|
| |
|
|
| |
llvm-svn: 156497
|
| |
|
|
|
|
| |
Also, add an anchor as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
llvm-svn: 156495
|