| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Tidy up built-in record creation to reduce code duplication.
Continuation of r197336.
llvm-svn: 197452
|
| |
|
|
|
|
| |
conformance is inferred. // rdar://15515206
llvm-svn: 197448
|
| |
|
|
|
|
|
| |
to determine if a move function is the std::move function. This allows functions
like std::__1::move to also be treated a the move function.
llvm-svn: 197445
|
| |
|
|
|
|
|
| |
This completes the cleanup/refactoring of DataLayout on the clang side. Next
is figuring out the differences between the llvm and clang produced strings
llvm-svn: 197442
|
| |
|
|
|
|
| |
staged yet.
llvm-svn: 197441
|
| |
|
|
| |
llvm-svn: 197440
|
| |
|
|
| |
llvm-svn: 197437
|
| |
|
|
|
|
|
|
|
|
| |
of objc_bridge_related attribute; eliminate
unnecessary diagnostics which is issued elsewhere,
fixit now produces a valid AST tree per convention.
This results in some simplification in handling of
this attribute as well. // rdar://15499111
llvm-svn: 197436
|
| |
|
|
|
|
| |
I missed these in previous commits.
llvm-svn: 197435
|
| |
|
|
|
|
|
| |
The f80:128:128 was followed by a f80:32:32 and so never used. Looks like this
was there since r91746.
llvm-svn: 197433
|
| |
|
|
| |
llvm-svn: 197430
|
| |
|
|
| |
llvm-svn: 197429
|
| |
|
|
| |
llvm-svn: 197428
|
| |
|
|
| |
llvm-svn: 197427
|
| |
|
|
| |
llvm-svn: 197422
|
| |
|
|
| |
llvm-svn: 197421
|
| |
|
|
|
|
|
|
|
| |
This reverts commit 2b43f500cfea10a8c59c986dcfc24fd08eecc77d.
This was accidentally committed because I failed to notice my client
wasn't clean prior to submitting a fix for a crasher.
llvm-svn: 197410
|
| |
|
|
|
|
|
|
| |
CXXScopeSpec when necessary while performing typo correction. This fixes
the crash reported in PR18213 (the problem existed since r185487, and
r193020 made it easier to hit).
llvm-svn: 197409
|
| |
|
|
| |
llvm-svn: 197408
|
| |
|
|
| |
llvm-svn: 197406
|
| |
|
|
|
|
| |
so use the same exception size as GNUEABI does.
llvm-svn: 197404
|
| |
|
|
| |
llvm-svn: 197399
|
| |
|
|
| |
llvm-svn: 197395
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
virtual void aaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaa aaaa, aaaaaaaaaaa aaaaa) const
override;
virtual void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa() const
override;
After:
virtual void aaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaa aaaa,
aaaaaaaaaaa aaaaa) const override;
virtual void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()
const override;
llvm-svn: 197391
|
| |
|
|
|
|
| |
This was committed accidentally.
llvm-svn: 197389
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead, mark the module as unavailable so that clang errors as soon as
someone tries to build this module.
A better long-term strategy might be to not stat the header files at all
while reading the module map and instead read them only when the module
is being built (there is a corresponding FIXME in parseHeaderDecl()).
However, it seems non-trivial to get there and this would be a temporary
solution to unblock us.
Also changed the implementation to reuse the same DiagnosticsEngine as
otherwise warnings can't be enabled or disabled with command-line flags.
llvm-svn: 197388
|
| |
|
|
|
|
|
|
|
|
|
| |
BreakConstructorInitializersBeforeComma is true.
This option is used in WebKit style, so this also ensures initializer lists are
not put on a single line, as per the WebKit coding guidelines.
Patch by Florian Sowade!
llvm-svn: 197386
|
| |
|
|
|
|
|
|
|
| |
Before:
void f() { typedef void (*f)(int * a); }
After:
void f() { typedef void (*f)(int *a); }
llvm-svn: 197369
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Especially try to keep existing line breaks before raw string literals,
as the code author might have aligned content to it.
Thereby, clang-format now keeps things like:
parseStyle(R"(
BasedOnStyle: Google,
ColumnLimit: 100)");
parseStyle(
R"(BasedOnStyle: Google,
ColumnLimit: 100)");
llvm-svn: 197368
|
| |
|
|
|
|
|
|
|
|
| |
An empty string for an ASM input constraint is invalid, and will crash
during clang CodeGen. Change TargetInfo::validateInputConstraint to
reject an empty string.
<rdar://problem/15552191>
llvm-svn: 197362
|
| |
|
|
|
|
| |
This is always overwritten by the one in NaClTargetInfo.
llvm-svn: 197346
|
| |
|
|
|
|
|
|
|
|
| |
attributes via the ParseKind field. Attributes will be given a common parsed attribute identifier (the AttributeList::AT_* enum), but retain distinct Attr subclasses.
This new functionality is used to implement the ARM and MSP430 interrupt attribute.
Patch reviewed by Richard Smith over IRC.
llvm-svn: 197343
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
__builtin_va_list and friends have been showing up where they shouldn't for way
to long, making unwanted appearences in -ast-print, tooling and source level
visitors and even the hello world tutorial on the clang website.
This commit factors down the implicit typedef and record creation facilities to
ensure they're marked implicit.
Also fixes a unit test that was testing incorrect behaviour, and removes old
hacks in the DeclPrinter that tried to skip implicit declarations manually.
llvm-svn: 197336
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The warning for backslash and newline separated by whitespace was missed in
this code path.
backslash<whitespace><newline> is handled differently from compiler to compiler
so it's important to warn consistently where there's ambiguity.
Matches similar handling of block comments and non-comment lines.
llvm-svn: 197331
|
| |
|
|
|
|
| |
but "-no-integrated-as", it really fixes r197229.
llvm-svn: 197309
|
| |
|
|
|
|
|
|
|
|
| |
is specialized by an explicit specialization, start from the first declaration
in case we've got a member of a class template (redeclarations might not number
the template parameters the same way).
Our recover here is still far from ideal.
llvm-svn: 197305
|
| |
|
|
|
|
|
|
|
|
| |
This patch was submitted to the list for review and didn't receive a LGTM.
(In fact one explicit objection and one query were raised.)
This reverts commit r197295.
llvm-svn: 197299
|
| |
|
|
|
|
| |
class templates (a Microsoft extension).
llvm-svn: 197298
|
| |
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D2392
llvm-svn: 197295
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
clang still doesn't emit the right llvm code when initializing multi-D arrays it seems.
For e.g. the following code would still crash for me on Windows 7, 64 bit:
auto f4 = new int[100][200][300]{{{1,2,3}, {4, 5, 6}}, {{10, 20, 30}}};
It seems that the final new loop that iterates through each outermost array and memsets it to zero gets confused with its final ptr arithmetic.
This patch ensures that it converts the pointer to the allocated type (int [200][300]) before incrementing it (instead of using the base type: 'int').
Richard somewhat squeamishly approved the patch (as a quick fix to potentially make it into 3.4) - while exhorting for a more optimized fix in the future. http://llvm-reviews.chandlerc.com/D2398
Thanks Richard!
llvm-svn: 197294
|
| |
|
|
| |
llvm-svn: 197274
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's nothing special about type traits accepting two arguments.
This commit eliminates BinaryTypeTraitExpr and switches all related handling
over to TypeTraitExpr.
Also fixes a CodeGen failure with variadic type traits appearing in a
non-constant expression.
The BTT/TT prefix and evaluation code is retained as-is for now but will soon
be further cleaned up.
This is part of the ongoing work to unify type traits.
llvm-svn: 197273
|
| |
|
|
| |
llvm-svn: 197270
|
| |
|
|
| |
llvm-svn: 197268
|
| |
|
|
|
|
| |
They are equivalent and the size of 'a' and 's' is unused.
llvm-svn: 197256
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
property declaration has a memory management
attribute (retain, copy, etc.). Sich properties
are usually overridden to become 'readwrite'
via a class extension (which require the memory
management attribute specified). In the absence of class
extension override, memory management attribute is
needed to produce correct Code Gen. for the
property getter in any case and this warning becomes
confusing to user. // rdar://15641300
llvm-svn: 197251
|
| |
|
|
|
|
| |
Raw lexers don't have a preprocessor so we need to null check.
llvm-svn: 197245
|
| |
|
|
|
|
|
|
| |
are used on non-kernel functions.
Reviewed by Aaron over IRC!
llvm-svn: 197243
|
| |
|
|
| |
llvm-svn: 197229
|
| |
|
|
|
|
| |
handle indirect protocols.
llvm-svn: 197209
|