| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
The alignment impact of the virtual bases apperas to be applied in
order, rather than up front. This patch adds the new behavior and
provides a test case.
llvm-svn: 197639
|
| |
|
|
|
|
| |
Since there were no test cases for the attribute, some have been added. This promptly demonstrated a bug with the semantic handling, which is also fixed.
llvm-svn: 197637
|
| |
|
|
|
|
| |
has special treatment. Also fixes a minor bug where the attributes were being parsed as though they were GNU-style attributes when they were in fact keyword attributes.
llvm-svn: 197629
|
| |
|
|
|
|
| |
Reviewed by Derek Schuff.
llvm-svn: 197628
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'deprecated'.
Fixes <rdar://problem/15584219> and <rdar://problem/12241361>.
This change looks large, but all it does is reuse and consolidate
the delayed diagnostic logic for deprecation warnings with unavailability
warnings. By doing so, it showed various inconsistencies between the
diagnostics, which were close, but not consistent. It also revealed
some missing "note:"'s in the deprecated diagnostics that were showing
up in the unavailable diagnostics, etc.
This change also changes the wording of the core deprecation diagnostics.
Instead of saying "function has been explicitly marked deprecated"
we now saw "'X' has been been explicitly marked deprecated". It
turns out providing a bit more context is useful, and often we
got the actual term wrong or it was not very precise
(e.g., "function" instead of "destructor"). By just saying the name
of the thing that is deprecated/deleted/unavailable we define
this issue away. This diagnostic can likely be further wordsmithed
to be shorter.
llvm-svn: 197627
|
| |
|
|
| |
llvm-svn: 197626
|
| |
|
|
|
|
| |
and methods. rdar://15450637
llvm-svn: 197625
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The problem here is more serious than the fix implies. Adding a field
to a class updates the triviality bits for the class (among other
things). Failing to require a complete type before adding the field
meant that these updates don't happen in the well-formed case where
the capture is an uninstantiated class template specialization,
leading the lambda itself to be treated as having a trivial copy
constructor when it shouldn't. Fixes <rdar://problem/15560464>.
llvm-svn: 197623
|
| |
|
|
| |
llvm-svn: 197617
|
| |
|
|
|
|
|
|
|
| |
Move some of the verifier directives away from the end of the pragma line.
This ensures that the diagnostics relate to the trailing token being tested and
not the verifier comments which are themselves part of the token stream.
llvm-svn: 197616
|
| |
|
|
|
|
|
|
| |
member functions. Paired commit with LLVM.
rdar://problem/15356637
llvm-svn: 197612
|
| |
|
|
|
|
| |
Finishes the work started in r194224, and fixes <rdar://problem/15494681>.
llvm-svn: 197609
|
| |
|
|
|
|
|
|
|
|
| |
While debating the finer points of file extension matching, we somehow missed
the bigger problem that the current code will match anything starting with the
default or user-specified pattern (e.g. lit.site.cfg.in).
Fix this by doing what find(1) does, implicitly wrapping the pattern with ^$.
llvm-svn: 197608
|
| |
|
|
|
|
|
|
| |
cstring, converted to NSString, produce the
matching AST for it. This also required some
refactoring of the previous code. // rdar://14106083
llvm-svn: 197605
|
| |
|
|
|
|
|
| |
These functions now always set the same variables in the same order and they
don't overlap with thep constructor.
llvm-svn: 197604
|
| |
|
|
| |
llvm-svn: 197603
|
| |
|
|
|
|
|
|
| |
The recovery was failing due to a missing case in SkipUntil().
Also add back tests from r197553 that were reverted in the previous commit.
llvm-svn: 197598
|
| |
|
|
|
|
|
|
|
|
|
| |
brackets and parens"
These parser changes were redundant. The same or better recovery can be
achieved with a one-line fix to SkipUntil() due to land in the next commit.
This reverts commit r197553.
llvm-svn: 197597
|
| |
|
|
|
|
|
|
| |
doesn't get broken again
(prompted by NAKAMURA Takumi)
llvm-svn: 197596
|
| |
|
|
| |
llvm-svn: 197593
|
| |
|
|
|
|
| |
floats.
llvm-svn: 197592
|
| |
|
|
|
|
| |
// rdar://15397430
llvm-svn: 197586
|
| |
|
|
|
|
|
| |
I am about to send a patch for review touching these and clang-formating first
makes the patch much easier to read.
llvm-svn: 197585
|
| |
|
|
|
|
| |
declarations. This appears to be an omission from r189644.
llvm-svn: 197584
|
| |
|
|
|
|
| |
AST nodes but never actually make use of them. No functional changes.
llvm-svn: 197582
|
| |
|
|
| |
llvm-svn: 197580
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit kills off custom type specifier and keyword handling of OpenCL C
data types.
Although the OpenCL spec describes them as keywords, we can handle them more
elegantly as predefined types. This should provide better error correction and
code completion as well as simplifying the implementation.
The primary intention is however to simplify the C/C++ parser and save some
packed bits on AST structures that had been extended in r170432 just for
OpenCL.
llvm-svn: 197578
|
| |
|
|
|
|
| |
A f64 inside a struct can be 32 bit aligned on darwin.
llvm-svn: 197577
|
| |
|
|
|
|
| |
from llvm.
llvm-svn: 197576
|
| |
|
|
|
|
| |
are set at top.
llvm-svn: 197575
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
aaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
aaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa();
After:
aaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
aaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa();
Probably still not ideal, but should be a step into the right direction.
llvm-svn: 197557
|
| |
|
|
|
|
| |
parens
llvm-svn: 197553
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
bool a = ([aaaaaaaa aaaaa] == aaaaaaaaaaaaaaaaa || [aaaaaaaa aaaaa] ==
aaaaaaaaaaaaaaaaaaaa);
After:
bool a = ([aaaaaaaa aaaaa] == aaaaaaaaaaaaaaaaa ||
[aaaaaaaa aaaaa] == aaaaaaaaaaaaaaaaaaaa);
This fixes llvm.org/PR18271.
llvm-svn: 197552
|
| |
|
|
| |
llvm-svn: 197550
|
| |
|
|
|
|
|
|
|
| |
Right now clang produces the same DataLayout for all of them, but it could, for
example, add 'n' specifications when the end architecture is given.
No functionality change, this should just make future changes easier to read.
llvm-svn: 197549
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 197548
|
| |
|
|
| |
llvm-svn: 197544
|
| |
|
|
|
|
| |
It's handled correctly as a C-family language.
llvm-svn: 197542
|
| |
|
|
|
|
| |
per Jordan's review.
llvm-svn: 197540
|
| |
|
|
|
|
|
|
| |
This has no functionality change as clang adds explicit alignment info for
byval arguments. The only difference is that now the clang produced
DataLayout string for AArch64 is identical to the LLVM produced one.
llvm-svn: 197538
|
| |
|
|
| |
llvm-svn: 197537
|
| |
|
|
|
|
| |
a category implementation. // rdar://15397430
llvm-svn: 197534
|
| |
|
|
|
|
|
| |
that we consider a function for the purposes of checking \param and \returns,
look through reference types.
llvm-svn: 197530
|
| |
|
|
|
|
| |
boost::function and similar function-like objects
llvm-svn: 197528
|
| |
|
|
|
|
| |
ASTNode = 0 to reduce complexity. No functional change intended.
llvm-svn: 197525
|
| |
|
|
| |
llvm-svn: 197522
|
| |
|
|
| |
llvm-svn: 197521
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unlike Itanium's VTTs, the 'most derived' boolean or bitfield is the
last parameter for non-variadic constructors, rather than the second.
For variadic constructors, the 'most derived' parameter comes after the
'this' parameter. This affects constructor calls and constructor decls
in a variety of places.
Reviewers: timurrrr
Differential Revision: http://llvm-reviews.chandlerc.com/D2405
llvm-svn: 197518
|
| |
|
|
|
|
| |
these tests
llvm-svn: 197517
|
| |
|
|
| |
llvm-svn: 197516
|