| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
default for A32 armv8.
llvm-svn: 193075
|
| |
|
|
|
|
| |
divide in the mode that we are compiling in (depending on the target features), not defined if we don't. Should be compatible with the GCC conterpart. Also adding a -hwdiv option to overide the default behavior.
llvm-svn: 193074
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to statement expressions supported as GCC extension, it is possible
to put 'break' or 'continue' into a loop/switch statement but outside its
body, for example:
for ( ; ({ if (first) { first = 0; continue; } 0; }); )
Such usage must be diagnosed as an error, GCC rejects it. To recognize
this and similar patterns the flags BreakScope and ContinueScope are
temporarily turned off while parsing condition expression.
Differential Revision: http://llvm-reviews.chandlerc.com/D1762
llvm-svn: 193073
|
| |
|
|
|
|
|
|
| |
Now that we iterate on the formatting multiple times when we
have chains of preprocessor branches, we need to correctly reset
the token's previous and next pointer for the first / last token.
llvm-svn: 193071
|
| |
|
|
|
| |
Review: http://llvm-reviews.chandlerc.com/D1974
llvm-svn: 193069
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The C and C++ standards disallow using universal character names to
refer to some characters, such as basic ascii and control characters,
so we reject these sequences in the lexer. However, when the
preprocessor isn't being used on C or C++, it doesn't make sense to
apply these restrictions.
Notably, accepting these characters avoids issues with unicode escapes
when GHC uses the compiler as a preprocessor on haskell sources.
Fixes rdar://problem/14742289
llvm-svn: 193067
|
| |
|
|
|
|
| |
LWG issue.
llvm-svn: 193062
|
| |
|
|
|
|
|
|
|
| |
This uses function prefix data to store function type information at the
function pointer.
Differential Revision: http://llvm-reviews.chandlerc.com/D1338
llvm-svn: 193058
|
| |
|
|
| |
llvm-svn: 193057
|
| |
|
|
|
|
|
|
|
|
|
| |
ResolveSingleFunctionTemplateSpecialization() returns 0 and doesn't emit diags
unless the expression has template-ids, so we must null check the result.
Also add a better diag noting which overloads are causing the problem.
Reviewed by Aaron Ballman.
llvm-svn: 193055
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
auto PointerBinding = [](const char * S) {};
After:
auto PointerBinding = [](const char *S) {};
This fixes llvm.org/PR17618.
llvm-svn: 193054
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
DEBUG({ // Comment that used to confuse clang-format.
fdafas();
});
Before:
DEBUG({ // Comments are now fine.
fdafas();
});
This fixed llvm.org/PR17619.
llvm-svn: 193051
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before (note the missing space before "..." which can lead to compile
errors):
switch (x) {
case 'A'... 'Z':
case 1... 5:
break;
}
After:
switch (x) {
case 'A' ... 'Z':
case 1 ... 5:
break;
}
llvm-svn: 193050
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
NSDictionary *d = @{ @"nam" : NSUserNam(), @"dte" : [NSDate date],
@"processInfo" : [NSProcessInfo processInfo]
};
After:
NSDictionary *d = @{
@"nam" : NSUserNam(),
@"dte" : [NSDate date],
@"processInfo" : [NSProcessInfo processInfo]
};
llvm-svn: 193049
|
| |
|
|
|
|
| |
some linkers depend on it.
llvm-svn: 193048
|
| |
|
|
| |
llvm-svn: 193047
|
| |
|
|
| |
llvm-svn: 193046
|
| |
|
|
|
|
|
|
|
|
|
| |
This fixes PR17591.
N.B. This actually goes beyond what the standard mandates by requiring
the restriction to hold for declarations instead of definitions. This
is believed to be a defect in the standard and an LWG issue has been
submitted.
llvm-svn: 193044
|
| |
|
|
|
|
|
|
|
|
| |
* NamedDecl and CXXMethodDecl were missing getMostRecentDecl.
* The const version can just forward to the non const.
* getMostRecentDecl can use cast instead of cast_or_null.
This then removes some casts from the callers.
llvm-svn: 193039
|
| |
|
|
| |
llvm-svn: 193028
|
| |
|
|
|
|
| |
Redeclarable already had a isFirstDecl, but it was missing from DeclBase.
llvm-svn: 193027
|
| |
|
|
| |
llvm-svn: 193026
|
| |
|
|
| |
llvm-svn: 193025
|
| |
|
|
|
|
|
| |
pick up the common bits ubsan actually needs. Also remove whole-archive when we
aren't trying to re-export the symbols.
llvm-svn: 193022
|
| |
|
|
|
|
|
|
|
|
|
| |
Now that CorrectTypo knows how to correctly search classes for typo
correction candidates, there is no good reason to only replace an
existing CXXScopeSpecifier if it refers to a namespace. While the actual
enablement was a matter of changing a single comparison, the fallout
from enabling the functionality required a lot more code changes
(including my two previous commits).
llvm-svn: 193020
|
| |
|
|
|
|
| |
NestedNameSpecifier that replaces an existing specifier.
llvm-svn: 193019
|
| |
|
|
|
|
| |
essentially the same.
llvm-svn: 193018
|
| |
|
|
| |
llvm-svn: 193010
|
| |
|
|
| |
llvm-svn: 193006
|
| |
|
|
|
|
|
| |
test also adds FIXMEs for a number of places where imports and includes of
submodules don't work very well.
llvm-svn: 193005
|
| |
|
|
|
|
|
| |
attributes when such methods are actually envoked in message
expression. // rdar://15242010
llvm-svn: 193003
|
| |
|
|
| |
llvm-svn: 192997
|
| |
|
|
|
|
| |
in the "uknown" state. Patch by chris.wailes@gmail.com. Reviewed by delesley.
llvm-svn: 192995
|
| |
|
|
|
|
|
|
|
|
| |
specified.
In particular it makes sure that relative paths for non-virtual files aren't
made absolute.
Added unittest.
llvm-svn: 192992
|
| |
|
|
|
|
| |
default constructor. Patch by chris.wailes@gmail.com, reviewed by delesley.
llvm-svn: 192991
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before, clang-format would not adjust leading indents if it found a
structural error (e.g. unmatched {}). It seems, however, that
clang-format has gotten good enough at parsing the code structure that
this hurts in almost all cases. Commonly, while writing code, it is
very useful to be able to correclty indent incomplete if statements or
for loops.
In case this leads to errors that we don't anticipate, we need to find
out and fix those.
This fixed llvm.org/PR17594.
llvm-svn: 192988
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This looks ugly and leads to llvm.org/PR17590.
Before (with AlwaysBreakBeforeMultilineStrings):
return
"aaaa"
"bbbb";
After:
return "aaaa"
"bbbb";
llvm-svn: 192984
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specifically, prefer breaking before trailing annotations over breaking
before the first parameter.
Before:
void ffffffffffffffffffffffff(
int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) OVERRIDE;
After:
void ffffffffffffffffffffffff(int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
OVERRIDE;
llvm-svn: 192983
|
| |
|
|
| |
llvm-svn: 192982
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
aaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaa().aaaaaaaaaaaaaaaaa().has<
bbbbbbbbbbbbbbbbbbbbb>();
After:
aaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaa()
.aaaaaaaaaaaaaaaaaaaaaaaaaa()
.has<bbbbbbbbbbbbbbbbbbbbb>();
llvm-svn: 192981
|
| |
|
|
| |
llvm-svn: 192971
|
| |
|
|
| |
llvm-svn: 192969
|
| |
|
|
|
|
| |
Patch by Kim Gräsman. Thank you!
llvm-svn: 192964
|
| |
|
|
|
|
| |
module.
llvm-svn: 192951
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we have multiple definitions of the same entity from different modules, we
nominate the first definition which we see as being the canonical definition.
If we load a declaration from a different definition and we can't find a
corresponding declaration in the canonical definition, issue a diagnostic.
This is insufficient to prevent things from going horribly wrong in all cases
-- we might be in the middle of emitting IR for a function when we trigger some
deserialization and discover that it refers to an incoherent piece of the AST,
by which point it's probably too late to bail out -- but we'll at least produce
a diagnostic.
llvm-svn: 192950
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r177003 applied the late parsed template technique to friend functions
but omitted the corresponding check for redefinitions.
This patch adds the same check already in use for templates to the
new code path in order to diagnose and reject invalid redefinitions
that were being silently accepted.
Fixes PR17324.
Reviewed by Richard Smith.
llvm-svn: 192948
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Delayed exception specification checking for defaulted members and virtual
destructors are both susceptible to mutation during iteration so we need to
swap and process the worklists.
This resolves both accepts-invalid and rejects-valid issues and moreover fixes
potential invalid memory access as the contents of the vectors change during
iteration and recursive template instantiation.
Checking can be further delayed where parent classes aren't yet fully defined.
This patch adds two assertions at end of TU to ensure no specs are left
unchecked as was happenning before the fix, plus a test case from Marshall Clow
for the defaulted member crash extracted from the libcxx headers.
Reviewed by Richard Smith.
llvm-svn: 192947
|
| |
|
|
| |
llvm-svn: 192937
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
'final'
Summary: Some MS headers use these features.
Reviewers: rnk, rsmith
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1948
llvm-svn: 192936
|
| |
|
|
|
|
|
| |
function parameters must be in a particular state. Patch by
chris.wailes@gmail.com. Reviewed by delesley@google.com.
llvm-svn: 192934
|