| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
conversion operators (the comparison could claim that two conversion operators are both better than each other). Actually implement DR495, rather than passing its test by chance because the declarations happened to be in the "lucky" order.
llvm-svn: 209054
|
|
|
|
|
|
|
|
|
| |
The conventional form is '<action> to silence this warning'.
Also call the diagnostic an 'issue' rather than a 'message' because the latter
term is more widely used with reference to message expressions.
llvm-svn: 209052
|
|
|
|
|
|
|
| |
pointer and reference types, even if those types are produced by template
instantiation.
llvm-svn: 208825
|
|
|
|
| |
llvm-svn: 208532
|
|
|
|
|
|
| |
(temporary workaround for PR19722); This should make the asan bootstrap bot green again
llvm-svn: 208521
|
|
|
|
|
|
|
|
| |
This was accidentally committed.
This reverts commit r207892.
llvm-svn: 207893
|
|
|
|
|
|
|
|
|
| |
Naming the destructor using a typedef-name for the class-name is
well-formed.
This fixes PR19620.
llvm-svn: 207892
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Friend declarations shouldn't mention explicit or virtual.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D3562
llvm-svn: 207682
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
A reference temporary should inherit the linkage of the variable it
initializes. Otherwise, we may hit cases where a reference temporary
wouldn't have the same value in all translation units.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D3515
llvm-svn: 207451
|
|
|
|
|
|
|
| |
we'll already have issued the relevant diagnostic when we saw the declaration
of the primary template.
llvm-svn: 206441
|
|
|
|
|
|
|
| |
when building the candidate set, rather than trying to contort name lookup into
handling this.
llvm-svn: 206436
|
|
|
|
|
|
| |
non-member overloaded operators can be found when no operand is of class type. We used to fail to implement this rule if there was an operand of dependent type.
llvm-svn: 206435
|
|
|
|
| |
llvm-svn: 206123
|
|
|
|
|
|
| |
constant expressions.
llvm-svn: 205757
|
|
|
|
|
|
| |
to suggest a different syntax to get the same effect.
llvm-svn: 205467
|
|
|
|
|
|
|
|
|
|
|
|
| |
at ... )')
For namespaces, this is consistent with mangling and GCC's debug info
behavior. For structs, GCC uses <anonymous struct> but we prefer
consistency between all anonymous entities but don't want to confuse
them with template arguments, etc, so we'll just go with parens in all
cases.
llvm-svn: 205398
|
|
|
|
| |
llvm-svn: 205339
|
|
|
|
|
|
| |
here in the simple-template-id case.
llvm-svn: 205273
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Declaring a function as inline after it has been defined is in violation
of [dcl.fct.spec]p4. The program would get a strong definition instead
of getting a function with linkonce_odr linkage.
Reviewers: rsmith
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D3220
llvm-svn: 205129
|
|
|
|
| |
llvm-svn: 205127
|
|
|
|
|
|
| |
the type of the variable until it's known.
llvm-svn: 204887
|
|
|
|
| |
llvm-svn: 204217
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since "half" is an OpenCL keyword and clang accepts __fp16 as an extension for
other languages, error messages and metadata (and hence debug info) should refer
to the half-precision floating point as "__fp16" instead of "half" when
compiling for non-OpenCL languages. This patch creates a new printing policy for
half in a similar manner to what is done for bool and wchar_t.
Differential Revision: http://llvm-reviews.chandlerc.com/D2952
llvm-svn: 204164
|
|
|
|
| |
llvm-svn: 204096
|
|
|
|
|
|
| |
declared in different namespaces in the same inline namespace set.
llvm-svn: 204082
|
|
|
|
| |
llvm-svn: 204051
|
|
|
|
|
|
| |
[PR8833]
llvm-svn: 204038
|
|
|
|
| |
llvm-svn: 204033
|
|
|
|
| |
llvm-svn: 203771
|
|
|
|
|
|
| |
performing auto type deduction.
llvm-svn: 203683
|
|
|
|
| |
llvm-svn: 203549
|
|
|
|
| |
llvm-svn: 203302
|
|
|
|
|
|
|
| |
Also promote a couple of Warnings on ill-formed code found by this testing to
ExtWarns.
llvm-svn: 203021
|
|
|
|
| |
llvm-svn: 202925
|
|
|
|
| |
llvm-svn: 202889
|
|
|
|
|
|
|
| |
Some files had CRLF line terminators, some only had a mixture of
CRLF and LF. Switch to LF.
llvm-svn: 202659
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
null comparison when the pointer is known to be non-null.
This catches the array to pointer decay, function to pointer decay and
address of variables. This does not catch address of function since this
has been previously used to silence a warning.
Pointer to bool conversion is under -Wbool-conversion.
Pointer to null comparison is under -Wtautological-pointer-compare, a sub-group
of -Wtautological-compare.
void foo() {
int arr[5];
int x;
// warn on these conditionals
if (foo);
if (arr);
if (&x);
if (foo == null);
if (arr == null);
if (&x == null);
if (&foo); // no warning
}
llvm-svn: 202216
|
|
|
|
|
|
|
|
|
|
| |
We were previously checking at every destructor declaration, but that was a bit
excessive. Since the deleting destructor is emitted with the vtable, do the
check when the vtable is marked used.
Differential Revision: http://llvm-reviews.chandlerc.com/D2851
llvm-svn: 202046
|
|
|
|
|
|
|
|
| |
DR18 previously forebode typedefs to be used as parameter types if they
were of type 'void'. DR577 allows 'void' to be used as a function
parameter type regardless from where it came.
llvm-svn: 201631
|
|
|
|
|
|
| |
_Atomic qualifier applied to a reference type.
llvm-svn: 201620
|
|
|
|
| |
llvm-svn: 201610
|
|
|
|
|
|
|
|
| |
temporary in a decltype expression only applies if that temporary was created
by a function call, not by a function-style cast or other flavour of
expression.
llvm-svn: 201542
|
|
|
|
|
|
| |
issue list.
llvm-svn: 201106
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
name specifier.
Rather than simply saying "X is not a class or namespace", clarify what
X is by providing the aka type in the case where X is a type, or
pointing to the named declaration if there's an unambiguous one to refer
to. In the ambiguous case, the ambiguities are already enumerated
(though could be clarified by describing what kind of entities they are)
Included a few FIXMEs in tests where some further improvements could be
made.
llvm-svn: 201038
|
|
|
|
|
|
|
|
|
|
|
| |
'operator delete' or 'operator delete[]' is an explicit exception
specification. Therefore we should diagnose 'void operator delete(void*)'
instead of 'void operator delete(void*) noexcept'.
This diagnostic remains an ExtWarn, since in practice people don't always
include the exception specification in such a declaration.
llvm-svn: 201002
|
|
|
|
|
|
|
|
| |
using-declaration, and they declare the same function (either because
the using-declaration is in the same namespace as the declaration it
imports, or because they're both extern "C"), they do not conflict.
llvm-svn: 200897
|
|
|
|
|
|
|
|
| |
redeclaration, not just when looking them up for a use -- we need the implicit
declaration to appropriately check various properties of them (notably, whether
they're deleted).
llvm-svn: 200729
|
|
|
|
| |
llvm-svn: 200678
|
|
|
|
|
|
| |
(which implemented the DR) was disabled in C++11.
llvm-svn: 200673
|
|
|
|
| |
llvm-svn: 200672
|