| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
http://reviews.llvm.org/D15029
llvm-svn: 254207
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This patch adds support for the interrupt attribute for mips32r2+.
Patch by Simon Dardis.
Reviewers: dsanders, aaron.ballman
Subscribers: aaron.ballman, cfe-commits
Differential Revision: http://reviews.llvm.org/D10802
llvm-svn: 254205
|
| |
|
|
|
|
| |
I forgot to credit the author.
llvm-svn: 254204
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This patch adds support for the interrupt attribute for mips32r2+.
Reviewers: dsanders, aaron.ballman
Subscribers: aaron.ballman, cfe-commits
Differential Revision: http://reviews.llvm.org/D10802
llvm-svn: 254203
|
| |
|
|
|
|
|
| |
Calling CheckFunctionDeclaration so that 2 decls for the 'weak' are merged.
Differential Revision: http://reviews.llvm.org/D13048
llvm-svn: 254143
|
| |
|
|
|
|
| |
According to OpenMP 4.5 the parameter of 'ordered' clause must be greater than or equal to the parameter of 'collapse' clause. Patch adds this rule.
llvm-svn: 254141
|
| |
|
|
| |
llvm-svn: 254122
|
| |
|
|
|
|
|
| |
We will still allow it in system headers, in macros from system headers, when
combined with an 'asm' label, and under the flag -Wno-register.
llvm-svn: 254097
|
| |
|
|
|
|
|
|
|
|
|
|
| |
MSVC supports 'property' attribute and allows to apply it to the declaration of an empty array in a class or structure definition.
For example:
```
__declspec(property(get=GetX, put=PutX)) int x[];
```
The above statement indicates that x[] can be used with one or more array indices. In this case, i=p->x[a][b] will be turned into i=p->GetX(a, b), and p->x[a][b] = i will be turned into p->PutX(a, b, i);
Differential Revision: http://reviews.llvm.org/D13336
llvm-svn: 254067
|
| |
|
|
|
|
| |
http://reviews.llvm.org/D14802
llvm-svn: 254019
|
| |
|
|
| |
llvm-svn: 254013
|
| |
|
|
|
|
| |
just an alias for RecursiveASTVisitor.
llvm-svn: 253949
|
| |
|
|
|
|
| |
and form the initial_suspend, final_suspend, and get_return_object calls.
llvm-svn: 253946
|
| |
|
|
|
|
| |
Inspired by similar commits from Craig Topper.
llvm-svn: 253904
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If AS of a variable/parameter declaration is not set by the source,
OpenCL v2.0 s6.5 defines explicit rules for default ASes:
- The AS of global and local static variables defaults to global;
- All pointers point to generic AS.
http://reviews.llvm.org/D13168
llvm-svn: 253863
|
| |
|
|
|
|
| |
http://reviews.llvm.org/D14134
llvm-svn: 253849
|
| |
|
|
|
|
| |
resolved by a call to yield_value / return_value before rejecting them.
llvm-svn: 253817
|
| |
|
|
| |
llvm-svn: 253816
|
| |
|
|
| |
llvm-svn: 253812
|
| |
|
|
|
|
| |
co_await and co_yield, and use it to hold await_* calls.
llvm-svn: 253811
|
| |
|
|
| |
llvm-svn: 253731
|
| |
|
|
| |
llvm-svn: 253725
|
| |
|
|
|
|
| |
unevaluated operands.
llvm-svn: 253641
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ConstantEvaluated while substituting into non-type template argument defaults.
Also address a typo from a prior patch that performed a similar fix during Parsing of default non-type template arguments. I left the RAII ExpressionEvaluationContext variable Name as Unevaluated though we had switched the context to ConstantEvaluated.
There should be no functionality change here - since when expression evaluation context is popped off, for the most part these two contexts currently behave similarly in regards to lambda diagnostics and odr-use tracking.
Like its parsing counterpart, this patch presages the advent of constexpr lambda patches...
llvm-svn: 253590
|
| |
|
|
|
|
|
| |
Add support for vector mode attributes like "attribute((mode(V4SF)))". Also add warning about deprecated vector modes like GCC does.
Differential Revision: http://reviews.llvm.org/D14744
llvm-svn: 253551
|
| |
|
|
|
|
| |
std::coroutine_traits.
llvm-svn: 253535
|
| |
|
|
|
|
|
|
|
|
|
| |
driving a canonical difference between that and an unqualified
type is a really bad idea when both are valid. Instead, remember
that it was there in a non-canonical way, then look for that in
the one place we really care about it: block captures. The net
effect closely resembles the behavior of a decl attribute, except
still closely following ARC's standard qualifier parsing rules.
llvm-svn: 253534
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We created a malformed TemplateSpecializationType: it was dependent but
had a RecordType as it's canonical type. This would lead getAs to
crash. r249090 worked around this but we should fix this for real by
providing a more appropriate template specialization type as the
canonical type.
This fixes PR24246.
llvm-svn: 253495
|
| |
|
|
| |
llvm-svn: 253456
|
| |
|
|
|
|
|
|
| |
unsafe, since many operations on the types can trigger lazy deserialization of
more types and invalidate the iterators. This fixes a crasher, but I've not
been able to reduce it to a reasonable testcase yet.
llvm-svn: 253420
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, when there is a global register variable in a program that
is bound to an invalid register, clang/llvm prints an error message that
is not very user-friendly.
This commit improves the diagnostic and moves the check that used to be
in the backend to Sema. In addition, it makes changes to error out if
the size of the register doesn't match the declared variable size.
e.g., volatile register int B asm ("rbp");
rdar://problem/23084219
Differential Revision: http://reviews.llvm.org/D13834
llvm-svn: 253405
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
other than the top level, we issue an error. This breaks a fair amount of C++
code wrapping C libraries, where the C library is #included within a namespace
/ extern "C" combination, because the C library (probably) includes C++
standard library headers which may be within modules.
Without modules, this setup is harmless if (and *only* if) the corresponding
standard library module was already included outside the namespace, so
downgrade the error to a default-error extension in that case, so that it can
be selectively disabled for such misbehaving libraries.
llvm-svn: 253398
|
| |
|
|
|
|
| |
diagnostics. NFC
llvm-svn: 253316
|
| |
|
|
| |
llvm-svn: 253315
|
| |
|
|
| |
llvm-svn: 253314
|
| |
|
|
|
|
|
| |
declarations that are not simultaneously visible, and where at least one of
them has internal/no linkage.
llvm-svn: 253283
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
is_empty, is_polymorphic, and is_abstract didn't handle incomplete types
correctly. Only non-union class types must be complete for these
traits.
is_final and is_sealed don't care about the particular spelling of the
FinalAttr.
is_interface_class should always return false regardless of its input.
The type trait can only be satisfied in a mode we do not support (/CLR).
llvm-svn: 253184
|
| |
|
|
|
|
| |
on the AST context instead of Preprocessor. NFC
llvm-svn: 253175
|
| |
|
|
| |
llvm-svn: 253174
|
| |
|
|
| |
llvm-svn: 253173
|
| |
|
|
|
|
|
|
| |
This makes TypeAliasTemplateDecl accessible via LibClang and python bindings
Differential Revision: http://reviews.llvm.org/D13844
llvm-svn: 253166
|
| |
|
|
|
|
| |
DiagnosticsEngine and Preprocessor. Everything the preprocessor was being used for can be acquired from Sema.
llvm-svn: 253158
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang tries to figure out if a call to abs is suspicious by looking
through implicit casts to look at the underlying, implicitly converted
type.
Interestingly, C has implicit conversions from pointer-ish types like
function to less exciting types like int. This trips up our 'abs'
checker because it doesn't know which variant of 'abs' is appropriate.
Instead, diagnose 'abs' called on function types upfront. This sort of
thing is highly suspicious and is likely indicative of a missing
pointer dereference/function call/array index operation.
This fixes PR25532.
llvm-svn: 253156
|
| |
|
|
| |
llvm-svn: 253155
|
| |
|
|
|
|
| |
ParserDiagnostic.h diagnostics.
llvm-svn: 253143
|
| |
|
|
| |
llvm-svn: 253142
|
| |
|
|
| |
llvm-svn: 253136
|
| |
|
|
|
|
|
|
|
| |
r233345 started being stricter about typedef names for linkage purposes
in non-visible modules, but broke languages without the ODR.
rdar://23527954
llvm-svn: 253123
|
| |
|
|
|
|
|
|
| |
While functions types are complete, they cannot be constructed.
This fixes PR25513.
llvm-svn: 253013
|
| |
|
|
|
|
|
|
|
| |
the linkage of the enumeration. For enumerators of unnamed enumerations, extend
the -Wmodules-ambiguous-internal-linkage extension to allow selecting an
arbitrary enumerator (but only if they all have the same value, otherwise it's
ambiguous).
llvm-svn: 253010
|