| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
That necessitated moving the OffsetOfNode class out of OffsetOfExpr.
llvm-svn: 256590
|
|
|
|
| |
llvm-svn: 256576
|
|
|
|
|
|
|
|
|
|
| |
underlying decls. Preserve the found declaration throughout, and only map to
the underlying declaration when we want to check whether it's the right kind.
This allows us to provide the right source location for the found declaration,
and prepares for the possibility of underlying decls with a different name
from the found decl.
llvm-svn: 256575
|
|
|
|
|
|
|
|
|
| |
In MS inline asm syntax a label with '$' char produces an error, while in AT&T it does not.
In AT&T inline asm syntax Clang escapes the '$' char and replaces it with "$$". Adopted same approach for MS syntax.
Differential Revision: http://reviews.llvm.org/D15795
llvm-svn: 256545
|
|
|
|
|
|
|
| |
underlying declaration of a NamedDecl happens to always have the same name
and identifier namespace as the decl itself today).
llvm-svn: 256529
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes PR16677. The latter represents the case when due to
misprinted character class definition occurs in the scope of template
arguments. Base class of this class depends on the template parameter in the
same scope and cannot be resolved, it causes crash. Right behavior is to
make semantic processing even if the definition is wrong, as the code
that emits appropriate message is called after the processing.
llvm-svn: 256511
|
|
|
|
|
|
|
|
|
| |
OpenMP 4.0-3.1 supports the next format of ‘schedule’ clause: schedule(kind[, chunk_size])
Where kind can be one of ‘static’, ‘dynamic’, ‘guided’, ‘auto’ or ‘runtime’.
OpenMP 4.5 defines the format: schedule([modifier [, modifier]:]kind[, chunk_size])
Modifier can be one of ‘monotonic’, ‘nonmonotonic’ or ‘simd’.
llvm-svn: 256487
|
|
|
|
|
|
| |
According to OpenMP 4.5 "A linear clause or an ordered clause with a parameter can be specified on a loop directive but not both.""
llvm-svn: 256485
|
|
|
|
| |
llvm-svn: 256478
|
|
|
|
| |
llvm-svn: 256463
|
|
|
|
|
|
|
|
| |
iteration variables.
According to OpenMP the loop iteration variable may not appear in a threadprivate directive.
llvm-svn: 256417
|
|
|
|
|
|
| |
It broke lldb build.
llvm-svn: 256403
|
|
|
|
| |
llvm-svn: 256401
|
|
|
|
| |
llvm-svn: 256400
|
|
|
|
| |
llvm-svn: 256399
|
|
|
|
| |
llvm-svn: 256398
|
|
|
|
|
|
| |
CodeCompleteObjCProtocolReferences. NFC
llvm-svn: 256397
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ASTTemplateArgumentListInfo.
Doing so required separating them so that the former doesn't inherit
from the latter anymore. Investigating that, it became clear that the
inheritance wasn't actually providing real value in any case.
So also:
- Remove a bunch of redundant functions (getExplicitTemplateArgs,
getOptionalExplicitTemplateArgs) on various Expr subclasses which
depended on the inheritance relationship.
- Switched external callers to use pre-existing accessors that return the
data they're actually interested in (getTemplateArgs,
getNumTemplateArgs, etc).
- Switched internal callers to use pre-existing getTemplateKWAndArgsInfo.
llvm-svn: 256359
|
|
|
|
| |
llvm-svn: 256349
|
|
|
|
|
|
| |
OpenMP 4.5 adds 'depend(sink:vec)' in 'ordered' directive for doacross loop synchronization. Patch adds parsing and semantic analysis for this clause.
llvm-svn: 256330
|
|
|
|
| |
llvm-svn: 256319
|
|
|
|
|
|
| |
switch, this makes the compiler ensure the switch is fully covered. NFC
llvm-svn: 256318
|
|
|
|
|
|
|
|
|
|
|
| |
If there are two pointers passed to an atomic Builtin,
Clang doesn't allow the second (non-atomic) one to be qualified
with an address space.
Remove this restriction by recording the address space of passed pointers
in atomics type diagnostics.
llvm-svn: 256243
|
|
|
|
| |
llvm-svn: 256239
|
|
|
|
|
|
| |
OpenMP 4.5 adds 'depend(sink:vec)' in 'ordered' directive for doacross loop synchronization. Patch adds parsing and semantic analysis for this clause.
llvm-svn: 256238
|
|
|
|
| |
llvm-svn: 256135
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is complete (with an error produced if not) and a function that merely queries
whether the type is complete. Either way we'll trigger instantiation if
necessary, but only the former will diagnose and recover from missing module
imports.
The intent of this change is to prevent a class of bugs where code would call
RequireCompleteType(..., 0) and then ignore the result. With modules, we must
check the return value and use it to determine whether the definition of the
type is visible.
This also fixes a debug info quality issue: calls to isCompleteType do not
trigger the emission of debug information for a type in limited-debug-info
mode. This allows us to avoid emitting debug information for type definitions
in more cases where we believe it is safe to do so.
llvm-svn: 256049
|
|
|
|
|
|
|
| |
RequireCompleteType(..., 0) says we're not permitted to do so. The definition
might not be visible, even though we know what it is.
llvm-svn: 256045
|
|
|
|
|
|
|
|
| |
for the derived class into it. This is mostly just a cleanup, but could in
principle be a bugfix if there is some codepath that reaches here and didn't
previously require a complete type (I couldn't find any such codepath, though).
llvm-svn: 256037
|
|
|
|
|
|
|
|
| |
directive.
OpenMP 4.5 adds 'depend(source)' clause for 'ordered' directive to support cross-iteration dependence. Patch adds parsing and semantic analysis for this construct.
llvm-svn: 255986
|
|
|
|
|
|
|
|
|
|
| |
synthesizing.
When determining whether ownership was explicitly written for a
property when it is being synthesized, also consider that the original
property might have come from a protocol. Fixes rdar://problem/23931441.
llvm-svn: 255943
|
|
|
|
|
|
|
|
| |
Add MS inline asm support for structs that contain fields that are also structs.
Differential Revision: http://reviews.llvm.org/D15578
llvm-svn: 255890
|
|
|
|
|
|
|
|
| |
"queried property of class with no definition", file AST/DeclCXX.h
Added processing for template specialization during data-sharing attributes analysis
llvm-svn: 255879
|
|
|
|
|
|
| |
OpenMP 4.5 adds 'hint' clause to critical directive. Patch adds parsing/semantic analysis for this clause.
llvm-svn: 255625
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given the following code:
int *_Nullable ptr;
int *_Nonnull nn = ptr;
...In C, clang will warn you about `nn = ptr`, because you're assigning
a nonnull pointer to a nullable pointer. In C++, clang issues no such
warning. This patch helps ensure that clang doesn't ever miss an
opportunity to complain about C++ code.
N.B. Though this patch has a differential revision link, the actual
review took place over email.
Differential Revision: http://reviews.llvm.org/D14938
llvm-svn: 255556
|
|
|
|
| |
llvm-svn: 255552
|
|
|
|
|
|
| |
rdar://18522255
llvm-svn: 255531
|
|
|
|
|
|
| |
dist_schedule
llvm-svn: 255498
|
|
|
|
|
|
| |
expressions to compliment '&' in '|' that is already present. Matches gcc behavior.
llvm-svn: 255450
|
|
|
|
|
|
| |
predicates already available in BinaryOperator. NFC
llvm-svn: 255449
|
|
|
|
| |
llvm-svn: 255428
|
|
|
|
|
|
| |
one of the expressions is a comparision op. Then if we find that either is a bitwise op, we know it must be the other one. NFC
llvm-svn: 255427
|
|
|
|
|
|
| |
initializer list to name a base class. Patch by Shahms King!
llvm-svn: 255420
|
|
|
|
|
|
|
|
|
| |
have a nested name specifier. Strictly speaking, forward declarations of class
template partial specializations are not permitted at all, but that seems like
an obvious wording defect, and if we allow them without a nested name specifier
we should also allow them with a nested name specifier.
llvm-svn: 255383
|
|
|
|
|
|
|
|
|
| |
a hidden tag"
Now not trying to use a C++ lookup mechanism in C (d'oh). Unqualified
lookup is actually fine for this case in C.
llvm-svn: 255377
|
|
|
|
|
|
|
| |
The message for a type definition in an "if" condition was different
from the other three for no particular reason.
llvm-svn: 255372
|
|
|
|
|
|
| |
asm label after the first ODR-use. Detects problems like the one in PR22830 where gcc and clang both compiled the file but with different behaviour.
llvm-svn: 255371
|
|
|
|
|
|
|
|
|
|
|
| |
address space unless address space is explicitly specified.
Correct the behavior of NULL constant detection -
generic AS void pointer should be accepted as a valid NULL constant.
http://reviews.llvm.org/D15293
llvm-svn: 255346
|
|
|
|
| |
llvm-svn: 255339
|
|
|
|
|
|
|
|
|
|
|
| |
address space unless address space is explicitly specified.
Correct the behavior of NULL constant detection -
generic AS void pointer should be accepted as a valid NULL constant.
http://reviews.llvm.org/D15293
llvm-svn: 255337
|