| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
contexts. <rdar://problem/12453134>
llvm-svn: 165462
|
| |
|
|
| |
llvm-svn: 165384
|
| |
|
|
|
|
|
| |
GCC has always supported this on PowerPC and 4.8 supports it on all platforms,
so it's a good idea to expose it in clang too. LLVM supports this on all targets.
llvm-svn: 165362
|
| |
|
|
| |
llvm-svn: 165329
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This appears to be consistent with GCC's implementation of the same warning
under -Wparentheses. Suppressing a << b + c for cases where 'a' is a user
defined type for compatibility with C++ stream IO. Otherwise suggest
parentheses around the addition or subtraction subexpression.
(this came up when MSVC was complaining (incorrectly, so far as I can tell)
about a perceived violation of this within the LLVM codebase, PR14001)
llvm-svn: 165283
|
| |
|
|
|
|
|
| |
mess by handling all pragmas which the parser touches uniformly.
<rdar://problem/12248901>, etc.
llvm-svn: 165195
|
| |
|
|
|
|
| |
convention code is target-specific.
llvm-svn: 165016
|
| |
|
|
|
|
|
|
| |
is allowed or ignored with warning. This allows for correct name mangling for x64 targets on Windows, which in turn allows for linking against the Win32 APIs.
Fixes PR13782
llvm-svn: 165015
|
| |
|
|
|
|
| |
care of comments by Dimitri and Doug.
llvm-svn: 164957
|
| |
|
|
|
|
|
| |
use it to suggest appropriate macro for __attribute__((deprecated)) in
-Wdocumentation-deprecated-sync.
llvm-svn: 164892
|
| |
|
|
|
|
| |
Tijl Coosemans!
llvm-svn: 164841
|
| |
|
|
| |
llvm-svn: 164677
|
| |
|
|
|
|
|
|
|
|
|
| |
Currently Sema/wchar.c fails because WCHAR_T_TYPE is defined as int,
however on ARM wchar_t is unsigned int.
This patch changes that, so this test passes for ARM.
Patch by Joey Gouly!
llvm-svn: 164598
|
| |
|
|
| |
llvm-svn: 164551
|
| |
|
|
|
|
|
|
|
| |
> 'long long' is an extension when C99 mode is not enabled
to
> 'long long' is a C++11 extension
while compiling in C++98 mode.
llvm-svn: 164545
|
| |
|
|
|
|
|
|
|
| |
deprecation attribute ('deprecated', 'availability' or 'unavailable').
This warning is under a separate flag, -Wdocumentation-deprecated-sync, so it
can be turned off easily while leaving other -Wdocumentation warnings on.
llvm-svn: 164467
|
| |
|
|
| |
llvm-svn: 164454
|
| |
|
|
|
|
| |
Richard's comments. // rdar://12202422
llvm-svn: 164316
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is some really old code (took me a while to find the test cases) & the
diagnostic text is slightly incorrect (it should really only apply to
re/declarations/, redefinitions are an error regardless of whether the types
match). Not sure if anyone cares about it, though.
For now this just makes the diagnostic more clear in less obvious cases where
the type of a declaration might not be explicitly written (eg: because it
uses decltype)
llvm-svn: 164313
|
| |
|
|
|
|
| |
it into -Wgnu.
llvm-svn: 164272
|
| |
|
|
|
|
|
|
| |
integral expression have the obvious result.
Patch reviewed by John McCall off line.
// rdar://12202422
llvm-svn: 164143
|
| |
|
|
|
|
|
|
| |
is no compelling argument that this is a generally useful warning,
and imposes a strong stylistic argument on code beyond what it was
intended to find warnings in.
llvm-svn: 164083
|
| |
|
|
|
|
|
|
| |
'function-like' type that can be annotated with \param.
Thanks to Eli Friedman for noticing!
llvm-svn: 163985
|
| |
|
|
|
|
|
| |
C11 7.17's atomic operations. GNU's __atomic_* builtins do allow const-qualified
atomics, though (!!) so don't restrict those.
llvm-svn: 163964
|
| |
|
|
| |
llvm-svn: 163905
|
| |
|
|
|
|
|
| |
should be fine to use it without further explanations in the attached
paragraph, so the warning about empty paragraph was turned off for it.
llvm-svn: 163836
|
| |
|
|
|
|
| |
<rdar://problem/12061922>
llvm-svn: 163772
|
| |
|
|
|
|
|
|
|
| |
These will warn under -Wformat-non-iso, and will still be rejected
outright on other platforms.
<rdar://problem/12061922>
llvm-svn: 163771
|
| |
|
|
|
|
|
|
| |
LLP64-incompatible tests.
I think some of them could be rewritten to fit also LLP64.
llvm-svn: 163699
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for halting the propagation of uninitialized value tracking along
a path. Unlike __attribute__((noreturn)), this attribute (which
is used by clients of the static analyzer) can be used to annotate
functions that essentially never return, but in rare cares may be
allowed to return for (special) debugging purposes. This attribute
has been shown in reducing false positives in the static analyzer
by pruning false postives, and is equally applicable here.
Handling this attribute in the CFG itself is another option, but
this is not something all clients (e.g., possibly -Wunreachable-code)
would want to see.
Addresses <rdar://problem/12281583>.
llvm-svn: 163681
|
| |
|
|
|
|
|
|
|
|
|
| |
analysis registers a command, it becomes a "known" command for the lexer, since
it has an ID. Having this freedom of choice to register a command is a good
thing since BriefParser does not need this.
But the parser should still invoke the correct semantic analysis method
(actOnUnknownCommand) in this case.
llvm-svn: 163646
|
| |
|
|
|
|
|
|
|
| |
expected-warning-re to let matched for Win32 targets.
- format specifies type 'wchar_t **' (aka 'int **') but the argument has type 'float *'
- format specifies type 'wchar_t **' (aka 'unsigned short **') but the argument has type 'float *'
llvm-svn: 163468
|
| |
|
|
|
|
|
| |
As a corollary to the previous commit, even when an extension is
available, we can still offer a fixit to the standard modifier.
llvm-svn: 163453
|
| |
|
|
|
|
|
|
|
| |
This seems to be a GNU libc extension; we offer a fixit to %lld on
these platforms.
<rdar://problem/11518237>
llvm-svn: 163452
|
| |
|
|
|
|
|
| |
Don't warn if annotated decl is used inside another
unused. // rdar://12233989
llvm-svn: 163329
|
| |
|
|
|
|
|
|
| |
of a c-function for what it is. Otherwise, this func
is treated as an overloadable c-function resulting in
a crash much later. // rdar://11743706
llvm-svn: 163224
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
initiated enum constant has the same value as another enum constant.
For instance:
enum test { A, B, C = -1, D, E = 1 };
Clang will warn that:
A and D both have value 0
B and E both have value 1
A few exceptions are made to keep the noise down. Enum constants which are
initialized to another enum constant, or an enum constant plus or minus 1 will
not trigger this warning. Also, anonymous enums are not checked.
llvm-svn: 162938
|
| |
|
|
| |
llvm-svn: 162886
|
| |
|
|
|
|
| |
Can't use __thread in init.c because it doesn't have a triple.
llvm-svn: 162836
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This makes Clang produce an error for code such as:
__thread int x;
int *p = &x;
The lvalue of a thread-local variable cannot be evaluated at compile
time.
llvm-svn: 162835
|
| |
|
|
|
|
| |
Patch by Magee, Josh.
llvm-svn: 162737
|
| |
|
|
|
|
|
|
| |
with parameter that is documented.
Fixes PR13670, <rdar://problem/12155840>.
llvm-svn: 162570
|
| |
|
|
|
|
| |
Fixes <rdar://problem/11005770>.
llvm-svn: 162545
|
| |
|
|
|
|
|
|
| |
use \param and \returns in documentation.
Fixes PR13533.
llvm-svn: 162507
|
| |
|
|
|
|
|
|
|
|
| |
name. This should reduce the amount of warning false positives about bad HTML
in comments when the comment author intended to put a reference to a template.
This change will also enable us parse the comment as intended in these cases.
Fixes part 1 of PR13374.
llvm-svn: 162407
|
| |
|
|
|
|
|
|
| |
specifier is unsed in a declaration; as it may not make the symbol
local to linkage unit as intended. Suggest using "hidden" visibility
attribute instead. // rdar://7703982
llvm-svn: 162138
|
| |
|
|
|
|
| |
'int' vs. 'long' issue with i386.
llvm-svn: 162125
|
| |
|
|
|
|
|
| |
on unsafe cast of a c-function call. This is
a C-only option.
llvm-svn: 162109
|
| |
|
|
|
|
| |
GCC documents these as unsigned, but defines them as signed.
llvm-svn: 162106
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
function arguments and arguments for variadic functions are of a particular
type which is determined by some other argument to the same function call.
Usecases include:
* MPI library implementations, where these attributes enable checking that
buffer type matches the passed MPI_Datatype;
* for HDF5 library there is a similar usecase as MPI;
* checking types of variadic functions' arguments for functions like
fcntl() and ioctl().
llvm-svn: 162067
|