| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
visible <rdar://problem/13172858>.
llvm-svn: 174648
|
|
|
|
|
|
| |
OpenCL builtin functions.
llvm-svn: 174630
|
|
|
|
|
|
| |
restrictions.
llvm-svn: 174601
|
|
|
|
|
|
| |
operators.
llvm-svn: 174584
|
|
|
|
|
|
|
|
|
|
|
|
| |
if it found any decls, rather than returning a list of found decls. This
removes a returning-ArrayRef-to-deleted-storage bug from
MultiplexExternalSemaSource (in code not exercised by any of the clang
binaries), reduces the work required in the found-no-decls case with PCH, and
importantly removes the need for DeclContext::lookup to be reentrant.
No functionality change intended!
llvm-svn: 174576
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
unreachable code" was issued incorrectly.
Summary:
-Wimplicit-fallthrough: fixed two cases where "fallthrough annotation in unreachable code" was issued incorrectly:
1. In actual unreachable code, but not immediately on a fall-through execution
path "fallthrough annotation does not directly precede switch label" is better;
2. After default: in a switch with covered enum cases. Actually, these shouldn't
be treated as unreachable code for our purpose.
Reviewers: rsmith
Reviewed By: rsmith
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D374
llvm-svn: 174575
|
|
|
|
|
|
| |
we already checked it when parsing.
llvm-svn: 174486
|
|
|
|
|
|
| |
rdar://13153516
llvm-svn: 174477
|
|
|
|
|
|
| |
claims it will improve performance.
llvm-svn: 174341
|
|
|
|
|
|
| |
vector initialization. Patch by John Stratton!
llvm-svn: 174339
|
|
|
|
| |
llvm-svn: 174337
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
designator" diagnostic with more correct and more human-friendly "cannot take
address of rvalue of type 'T'".
For the case of & &T::f, provide a custom diagnostic, rather than unhelpfully
saying "cannot take address of rvalue of type '<overloaded function type>'".
For the case of &array_temporary, treat it just like a class temporary
(including allowing it as an extension); the existing diagnostic wording
for the class temporary case works fine.
llvm-svn: 174262
|
|
|
|
| |
llvm-svn: 174257
|
|
|
|
|
|
|
|
|
| |
says, but that's a defect (to be filed). "Cls::purevfn()" is still an odr use.
Also fixes a bug that caused us to not mark the function referenced just
because we didn't want to mark it odr used.
llvm-svn: 174242
|
|
|
|
|
|
| |
nsstringis are compared without. // rdar://12716301
llvm-svn: 174214
|
|
|
|
|
|
| |
module import occurred.
llvm-svn: 174191
|
|
|
|
| |
llvm-svn: 174182
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to the patch, Clang does not properly promote types when a complex
integer operand is combined with an integer via a binary operator, or when
one is assigned to the other in either order. This patch detects when
promotion is needed (and permissible) and generates the necessary code.
The test assmes no target has the same size operands for "char" and
"long long," and that no target performs arithmetic on char operands without
extending them to a larger format first. If there are any targets for
which this is not the case, they should be XFAILed.
llvm-svn: 174181
|
|
|
|
| |
llvm-svn: 174160
|
|
|
|
|
|
| |
defined. Fixes PR14993!
llvm-svn: 174158
|
|
|
|
|
|
| |
Also support alignas(0), which C++11 and C11 require us to ignore.
llvm-svn: 174157
|
|
|
|
|
|
| |
class. Fixes <rdar://problem/13017229>.
llvm-svn: 174145
|
|
|
|
|
|
|
|
|
| |
Remove "IsMSDeclspec" argument from Align attribute since the arguments in Attr.td should
only model those appear in source code. Introduce attribute Accessor, and teach TableGen
to generate syntax kind accessors for Align attribute, and use those accessors to decide
if an alignment attribute is a declspec attribute.
llvm-svn: 174133
|
|
|
|
| |
llvm-svn: 174050
|
|
|
|
|
|
|
|
| |
have a direct mismatch between some component of the template and some
component of the argument. The diagnostic now says what the mismatch was, but
doesn't yet say which part of the template doesn't match.
llvm-svn: 174039
|
|
|
|
|
|
|
|
| |
Objective-C message receiver, the user is as likely to want to write a
type name as any other declaration, so give types the same priority as
other declarations. Fixes <rdar://problem/12480600>.
llvm-svn: 174038
|
|
|
|
|
|
| |
result to consider the completion context
llvm-svn: 174037
|
|
|
|
|
|
| |
in the one case where we've already factored out a reason code.
llvm-svn: 174036
|
|
|
|
|
|
|
| |
filter the elements before emitting them into a PCH. No user-visible
functionality change, except that PCH files may be smaller?
llvm-svn: 174034
|
|
|
|
| |
llvm-svn: 174033
|
|
|
|
| |
llvm-svn: 174032
|
|
|
|
|
|
| |
a workaround for this bug from the -Wundefined-internals warning.
llvm-svn: 174020
|
|
|
|
| |
llvm-svn: 173996
|
|
|
|
|
|
| |
a test case.
llvm-svn: 173963
|
|
|
|
|
|
| |
Just makes the code a little cleaner, and easier to reason about.
llvm-svn: 173953
|
|
|
|
|
|
| |
This is required to use them in TableGen.
llvm-svn: 173924
|
|
|
|
|
|
|
|
| |
__fp16 isn't covered by the standard, but this resolves the oddity that float
gets promoted when passed variadically, but not the smaller type. This is
required by the AArch64 ABI, and a sane action elsewhere.
llvm-svn: 173918
|
|
|
|
|
|
| |
an Objective-C method. Fixes <rdar://problem/13069990>.
llvm-svn: 173905
|
|
|
|
|
|
|
| |
can be messaged via the metaclass. Provide code completions for this
case. Fixes <rdar://problem/12560296>.
llvm-svn: 173903
|
|
|
|
|
|
| |
an attribute for consistency with our other noreturn mechanisms.
llvm-svn: 173898
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
A motivating example:
class ClassWithDtor {
public:
~ClassWithDtor() {}
};
void fallthrough3(int n) {
switch (n) {
case 2:
do {
ClassWithDtor temp;
return;
} while (0); // This generates a chain of unreachable CFG blocks.
case 3:
break;
}
}
Reviewers: rsmith, doug.gregor, alexfh
Reviewed By: alexfh
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D330
llvm-svn: 173889
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the member has an initializer, assume it was probably intended to be static
and suggest/recover with that.
If the member doesn't have an initializer, assume it was probably intended to
be const instead of constexpr and suggest that.
(if the attempt to apply these changes fails, don't make any suggestion &
produce the same diagnostic experience as before. The only case where this can
come up that I know of is with a mutable constexpr with an initializer, since
mutable is incompatible with static (but it's already incompatible with
const anyway))
llvm-svn: 173873
|
|
|
|
|
|
|
|
| |
argument to be memset, check for its type to be complete
before calling Context.getTypeSize(PointeeTy) to prevent
crash. // rdar://13081751.
llvm-svn: 173872
|
|
|
|
| |
llvm-svn: 173841
|
|
|
|
|
|
|
| |
Fix to change r173414 that lead to Clang changing const to constexpr even under
-Wno-static-float-init.
llvm-svn: 173835
|
|
|
|
|
|
|
|
|
|
|
| |
TopLevelDeclInObjCContainer bit.
Fixes accurately getting a cursor inside an objc container containing a struct definition,
from a PCH/preamble file.
rdar://12584613
llvm-svn: 173811
|
|
|
|
|
|
| |
Also refactor the surrounding code a little.
llvm-svn: 173791
|
|
|
|
|
|
|
|
|
| |
the diagnostic's warn_ name. Switch some places (notably C++11 attributes)
which really wanted an error over to a different diagnostic. Finally, suppress
the diagnostic entirely for __ptr32, __ptr64 and __w64, to avoid producing
diagnostics in important system headers.
llvm-svn: 173788
|
|
|
|
| |
llvm-svn: 173779
|
|
|
|
|
|
| |
instantiation.
llvm-svn: 173768
|