| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 294534
|
| |
|
|
| |
llvm-svn: 294512
|
| |
|
|
|
|
| |
but makes no sense.
llvm-svn: 294509
|
| |
|
|
|
|
|
|
| |
nested-name-specifier (as the standard appears to require), treat it as the
type specifier 'decltype(auto)' followed by a nested-name-specifier starting
with '::'.
llvm-svn: 294506
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D29725
llvm-svn: 294504
|
| |
|
|
|
|
|
|
|
|
| |
Sometimes the MS ABI needs to emit thunks for declarations that don't
have bodies. Destructor thunks make calls to inlinable functions, so
they need line info or LLVM will complain.
Fixes PR31893
llvm-svn: 294465
|
| |
|
|
|
|
| |
__PREFETCHWT1__ define to match gcc.
llvm-svn: 294424
|
| |
|
|
| |
llvm-svn: 294423
|
| |
|
|
| |
llvm-svn: 294419
|
| |
|
|
|
|
|
|
| |
match gcc.
In the future, we should also add a clwb intrinsic to the backend, a frontend builtin, and an instrinsic header file.
llvm-svn: 294416
|
| |
|
|
| |
llvm-svn: 294413
|
| |
|
|
|
|
| |
__CLFLUSHOPT__ define to match gcc.
llvm-svn: 294411
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This teaches clang how to parse and lower the 'interrupt' and 'naked'
attributes.
This allows interrupt signal handlers to be written.
Reviewers: aaron.ballman
Subscribers: malcolm.parsons, cfe-commits
Differential Revision: https://reviews.llvm.org/D28451
llvm-svn: 294402
|
| |
|
|
|
|
|
|
|
|
| |
Add a warning for shadowed variables across records. Referencing a
shadow'ed variable may not give the desired variable. Add an optional
warning for the shadowing.
Patch by James Sun!
llvm-svn: 294401
|
| |
|
|
| |
llvm-svn: 294397
|
| |
|
|
|
|
| |
an attribute-specifier-seq. (Also fixes the same problem for deduction-guides.)
llvm-svn: 294396
|
| |
|
|
| |
llvm-svn: 294395
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Following up on r291465 after a regression in r276159. When we use
-fmodule-name=X while building a PCH, modular headers in X will be
textually included and the compiler knows that we are not building
module X, so don't serialize such headers in the PCH as being part of a
module, because at this point they are not.
This was causing subtle bugs and malformed AST crashes, for instance,
when using the PCH in subsequent compiler invocation with -fmodules, the
HFI for a modular header would map to the PCH, which would force a
module load of and unexistent module ID.
rdar://problem/30171164
llvm-svn: 294361
|
| |
|
|
|
|
|
| |
This reverts commit SVN r294148. Seems that it was mistaken, and GCC
does still define `__unix` and `unix` when in GNU mode.
llvm-svn: 294332
|
| |
|
|
|
|
|
|
|
| |
Fix for bug 30217 - incorrect error given for logical
NOT operation with a pointer type: corrected sema check
and improved related tests.
Review: D29038
llvm-svn: 294313
|
| |
|
|
|
|
| |
This reverts commit 7ac30e0f839fdab6d723ce2ef6a5b7a4cf03d150.
llvm-svn: 294282
|
| |
|
|
|
|
|
| |
Make sure the spec required type alignments are used in preparation
for a possible change which may break this.
llvm-svn: 294278
|
| |
|
|
|
|
|
|
| |
This allows it to be used with the other sanitizers.
Differential Revision: https://reviews.llvm.org/D29545
llvm-svn: 294274
|
| |
|
|
|
|
|
|
|
|
|
| |
We model deduction-guides as functions with a new kind of name that identifies
the template whose deduction they guide; the bulk of this patch is adding the
new name kind. This gives us a clean way to attach an extensible list of guides
to a class template in a way that doesn't require any special handling in AST
files etc (and we're going to need these functions we come to performing
deduction).
llvm-svn: 294266
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D29520
llvm-svn: 294225
|
| |
|
|
|
|
|
|
|
|
|
|
| |
GCC 7 will predefine two new macros on s390x:
- __ARCH__ indicates the ISA architecture level
- __VX__ indicates that the vector facility is available
This adds those macros to clang as well to ensure continued
compatibility with GCC.
llvm-svn: 294197
|
| |
|
|
|
|
|
|
|
|
| |
statement
https://reviews.llvm.org/D29501
It looks like I forgot to remove a FIXME comment with the associated statement. The test does not need it and it gives the wrong impression of being an incomplete test.
llvm-svn: 294195
|
| |
|
|
|
|
| |
This reverts commit r294177. It seems to have broken some buildbots.
llvm-svn: 294180
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This tells clang about all of the different AVR microcontrollers.
It also adds code to define the correct preprocessor macros for each
device.
Reviewers: jroelofs, asl
Reviewed By: asl
Subscribers: asl, cfe-commits
Differential Revision: https://reviews.llvm.org/D28346
llvm-svn: 294177
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously the method would simply return false, causing every single
inline assembly constraint to trigger a compile error.
This adds inline assembly constraint support for the AVR target.
This patch is derived from the code in
AVRISelLowering::getConstraintType.
More details can be found on the AVR-GCC reference wiki
http://www.nongnu.org/avr-libc/user-manual/inline_asm.html
Reviewers: jroelofs, asl
Reviewed By: asl
Subscribers: asl, ahatanak, saaadhu, cfe-commits
Differential Revision: https://reviews.llvm.org/D28344
llvm-svn: 294176
|
| |
|
|
|
|
|
|
| |
GCC does not generate `__unix` nor `unix` macros. The latter already
intrudes into the user's namespace and should be avoided. Use the
canonical spelling of `__unix__` across all the targets.
llvm-svn: 294148
|
| |
|
|
|
|
|
|
| |
Allowing adjacent comments within MS inline assembly multi-line statement
Differential Revision: https://reviews.llvm.org/D28989
llvm-svn: 294120
|
| |
|
|
|
|
|
|
| |
generic lambda
until after we've checked whether 'auto' is valid in the current language mode.
llvm-svn: 294078
|
| |
|
|
|
|
|
|
| |
While there is nothing to do at link time to get pthreads support on
darwin, specifying the argument is fine and we should not warn about
unused arguments.
llvm-svn: 294065
|
| |
|
|
| |
llvm-svn: 294058
|
| |
|
|
|
|
|
|
| |
https://reviews.llvm.org/D28243
The regression test was missing from the previous already accepted patch.
llvm-svn: 294026
|
| |
|
|
|
|
|
|
| |
C++11 introduced constexpr, hence the change in diagnostics.
Differential Revision: https://reviews.llvm.org/D29480
llvm-svn: 294025
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After r260016 and r260017 disabled typo correction for ivars and properties
clang didn't report errors about unresolved identifier in the base of ivar and
property ref expressions. This meant that clang invoked CodeGen on invalid AST
which then caused a crash.
This commit re-enables typo correction for ivars and properites, and fixes the
PR25113 & PR26486 (that were originally fixed in r260017 and r260016) in a
different manner by transforming the Objective-C ivar reference expression with
'IsFreeIvar' preserved.
rdar://30310772
llvm-svn: 294008
|
| |
|
|
|
|
|
|
|
|
| |
Guard against a null pointer dereference that caused Clang to crash
when processing a class containing an _Atomic qualified data member,
and that is tagged with 'dllexport'.
Differential Revision: https://reviews.llvm.org/D29208
llvm-svn: 293911
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D29384
llvm-svn: 293874
|
| |
|
|
| |
llvm-svn: 293853
|
| |
|
|
| |
llvm-svn: 293848
|
| |
|
|
|
|
| |
should be added.
llvm-svn: 293817
|
| |
|
|
|
|
|
|
|
|
|
| |
name. If the dependent name happened to end in a template-id (X<T>::Y<U>), we
would fail to notice that the 'typename' keyword is missing when resolving it
to a type.
It turns out that GCC has a similar bug. If this shows up in much real code, we
can easily downgrade this to an ExtWarn.
llvm-svn: 293815
|
| |
|
|
| |
llvm-svn: 293810
|
| |
|
|
|
|
|
|
|
|
| |
to WeakObjectProfileTy's constructor.
This fixes an assertion failure in WeakObjectProfileTy's constructor.
rdar://problem/30112633
llvm-svn: 293808
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
attribute (PR31695)
For non-template dllimport functions, MSVC allows providing an inline
definition without spelling out the attribute again. In the example below, f
remains a dllimport function.
__declspec(dllimport) int f();
inline int f() { return 42; }
int useit() {
return f();
}
However, for a function template, not putting dllimport on the redeclaration
causes it to be dropped. In the example below, f is not dllimport.
template <typename> __declspec(dllimport) int f();
template <typename> inline int f() { return 42; }
int useit() {
return f<int>();
}
This patch makes Clang match MSVC for the second example.
MSVC does not warn about the attribute being dropped in the example above, but
I think we should. (MSVC does warn if the inline keyword isn't used.)
Differential Revision: https://reviews.llvm.org/D29152
llvm-svn: 293800
|
| |
|
|
|
|
|
|
| |
isPointerZeroInitializable
rdar://30111891
llvm-svn: 293787
|
| |
|
|
| |
llvm-svn: 293754
|
| |
|
|
| |
llvm-svn: 293735
|