| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
conversion-to-function-pointer member.
llvm-svn: 183931
|
| |
|
|
| |
llvm-svn: 183930
|
| |
|
|
|
|
|
|
|
| |
__clear_cache is special. It needs no signature, but is a real function in
compiler_rt or libgcc.
Patch by Andrew Turner.
llvm-svn: 183926
|
| |
|
|
| |
llvm-svn: 183922
|
| |
|
|
| |
llvm-svn: 183916
|
| |
|
|
|
|
|
|
|
| |
When choosing a default CPU, clang used to pick ARM7TDMI (which has Thumb) even
when the more restrictive armv4 triple was specified. This should fix that.
Patch by Jeroen Hofstee.
llvm-svn: 183905
|
| |
|
|
| |
llvm-svn: 183903
|
| |
|
|
|
|
|
| |
Thanks to Dmitry Shachnev for the patch
See bug #16317
llvm-svn: 183899
|
| |
|
|
| |
llvm-svn: 183890
|
| |
|
|
|
|
| |
__builtin_parity{,l,ll}, __builtin_ffs{,l,ll}, and __builtin_fpclassify.
llvm-svn: 183889
|
| |
|
|
| |
llvm-svn: 183886
|
| |
|
|
|
|
|
|
| |
implicit definition of a copy operation is deprecated. Add a warning for this
to -Wdeprecated. This warning is disabled by default for now, pending
investigation into how common this situation is.
llvm-svn: 183884
|
| |
|
|
|
|
| |
type std::nullptr_t are null pointer constants from C++11 onwards.
llvm-svn: 183883
|
| |
|
|
|
|
| |
doesn't seem to be any value in even adding a -W flag for this.
llvm-svn: 183882
|
| |
|
|
|
|
|
|
|
| |
- 'register' storage class
- dynamic exception specifications
Only the former check is enabled by default for now (the latter might be quite noisy).
llvm-svn: 183881
|
| |
|
|
|
|
| |
explicit constructors.
llvm-svn: 183879
|
| |
|
|
|
|
| |
pack expanded constructor initializer list. Fixes PR16303!
llvm-svn: 183878
|
| |
|
|
|
|
|
| |
declarations of reference type; they're handled by the general case handling of
MaterializeTemporaryExpr.
llvm-svn: 183875
|
| |
|
|
|
|
| |
fix a two-phase lookup issue. That's not permitted.
llvm-svn: 183874
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce CXXStdInitializerListExpr node, representing the implicit
construction of a std::initializer_list<T> object from its underlying array.
The AST representation of such an expression goes from an InitListExpr with a
flag set, to a CXXStdInitializerListExpr containing a MaterializeTemporaryExpr
containing an InitListExpr (possibly wrapped in a CXXBindTemporaryExpr).
This more detailed representation has several advantages, the most important of
which is that the new MaterializeTemporaryExpr allows us to directly model
lifetime extension of the underlying temporary array. Using that, this patch
*drastically* simplifies the IR generation of this construct, provides IR
generation support for nested global initializer_list objects, fixes several
bugs where the destructors for the underlying array would accidentally not get
invoked, and provides constant expression evaluation support for
std::initializer_list objects.
llvm-svn: 183872
|
| |
|
|
|
|
|
| |
CXXCtorInitializers to the point where we perform the questionable lifetime
extension. This exposed a selection of false negatives in the warning.
llvm-svn: 183869
|
| |
|
|
|
|
|
|
| |
properly. This warning checks that the #ifndef and #define directives at
the beginning of a header refer to the same macro name. Includes a fix-it
hint to correct the header guard.
llvm-svn: 183867
|
| |
|
|
| |
llvm-svn: 183861
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
were lacking ExprWithCleanups nodes in some cases where the new approach to
lifetime extension needed them).
Original commit message:
Rework IR emission for lifetime-extended temporaries. Instead of trying to walk
into the expression and dig out a single lifetime-extended entity and manually
pull its cleanup outside the expression, instead keep a list of the cleanups
which we'll need to emit when we get to the end of the full-expression. Also
emit those cleanups early, as EH-only cleanups, to cover the case that the
full-expression does not terminate normally. This allows IR generation to
properly model temporary lifetime when multiple temporaries are extended by the
same declaration.
We have a pre-existing bug where an exception thrown from a temporary's
destructor does not clean up lifetime-extended temporaries created in the same
expression and extended to automatic storage duration; that is not fixed by
this patch.
llvm-svn: 183859
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Basically, don't special-case line comments in this regard. And fixed
an incorrect test, that relied on the wrong behavior.
Reviewers: klimek
Reviewed By: klimek
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D962
llvm-svn: 183851
|
| |
|
|
| |
llvm-svn: 183849
|
| |
|
|
| |
llvm-svn: 183837
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
"register" functions for the checker were caching the checker objects in a
static variable. This caused problems when the function is called with a
different CheckerManager.
Reviewers: klimek
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D955
llvm-svn: 183823
|
| |
|
|
|
|
| |
Fixes <rdar://problem/11224126> and PR12790.
llvm-svn: 183821
|
| |
|
|
|
|
|
|
| |
AVX vectors when AVX is turned on.
Fixes <rdar://problem/10513611>.
llvm-svn: 183813
|
| |
|
|
| |
llvm-svn: 183803
|
| |
|
|
|
|
| |
I am about to move PathV2.h to Path.h.
llvm-svn: 183795
|
| |
|
|
|
|
|
|
|
|
| |
with a string. This case is sort of tricky because we can't modify the
StringLiteral used to represent such initializers.
We are forced to decompose the string into individual characters.
Fixes <rdar://problem/10465114>.
llvm-svn: 183791
|
| |
|
|
| |
llvm-svn: 183783
|
| |
|
|
|
|
| |
This is preparation for replacing Path.h with PathV2.h.
llvm-svn: 183781
|
| |
|
|
|
|
| |
Testcase to follow.
llvm-svn: 183776
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Some compilers where failing with this file because the number of symbols was above 2**15.
- Replace std::list<> and std::vector<> with plain arrays.
- Change VariadicMatcherCreateCallback to be a function template, and a
single class that wraps the instantiations.
- Remove some more unnecessary template arguments and function calls.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D948
llvm-svn: 183768
|
| |
|
|
| |
llvm-svn: 183751
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
alphanumeric character.
Summary:
"//Test" becomes "// Test". This change is aimed to improve code
readability and conformance to certain coding styles. If a comment starts with a
non-alphanumeric character, the space isn't added, e.g. "//-*-c++-*-" stays
unchanged.
Reviewers: klimek
Reviewed By: klimek
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D949
llvm-svn: 183750
|
| |
|
|
| |
llvm-svn: 183742
|
| |
|
|
|
|
|
|
| |
PrecompilePreambleConsumer.
Actions outlive consumers. PR16295. Found by AddressSanitizer.
llvm-svn: 183741
|
| |
|
|
| |
llvm-svn: 183725
|
| |
|
|
|
|
|
| |
DR61 affirms that expressions containing unresolved member access should
be disallowed when performing "address of" operations.
llvm-svn: 183723
|
| |
|
|
|
|
|
| |
Disallow the existence of a declaration of a member class that isn't a
forward declaration before it's definition.
llvm-svn: 183722
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into the expression and dig out a single lifetime-extended entity and manually
pull its cleanup outside the expression, instead keep a list of the cleanups
which we'll need to emit when we get to the end of the full-expression. Also
emit those cleanups early, as EH-only cleanups, to cover the case that the
full-expression does not terminate normally. This allows IR generation to
properly model temporary lifetime when multiple temporaries are extended by the
same declaration.
We have a pre-existing bug where an exception thrown from a temporary's
destructor does not clean up lifetime-extended temporaries created in the same
expression and extended to automatic storage duration; that is not fixed by
this patch.
llvm-svn: 183721
|
| |
|
|
| |
llvm-svn: 183720
|
| |
|
|
|
|
|
|
|
| |
while fixing a related bug. The fix here was simpler than I thought it
would be.
Fixes <rdar://problem/10530444>.
llvm-svn: 183718
|
| |
|
|
|
|
|
|
|
|
|
| |
A while ago we allowed libclang to build a PCH that had compiler errors; this was to retain the performance
afforded by a PCH even if the user's code is in an intermediate state.
Extend this for the precompiled preamble as well.
rdar://14109828
llvm-svn: 183717
|
| |
|
|
|
|
| |
the '@'. PR16287 and // rdar://14106083
llvm-svn: 183713
|
| |
|
|
|
|
| |
Fixes <rdar://problem/14074868>.
llvm-svn: 183699
|