| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
This was removed with -Wunique-enum, which is still removed. The
corresponding thread on cfe-comments for that warning is here:
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-September/024224.html
If we get specific user feedback for -Wduplicate-enum we can evaluate
whether or not to keep it.
llvm-svn: 170974
|
| |
|
|
|
|
|
|
| |
TextDiagnostic
Patch by Janusz Chorko.
llvm-svn: 170566
|
| |
|
|
| |
llvm-svn: 170458
|
| |
|
|
|
|
| |
missing 'void', insert a fixit to add the void.
llvm-svn: 170399
|
| |
|
|
|
|
|
|
| |
An extern declaration following a tentative definition should not itself be
considered a tentative definition.
Fixes pr14614.
llvm-svn: 170377
|
| |
|
|
| |
llvm-svn: 170038
|
| |
|
|
|
|
|
| |
-fasm-blocks flag, not the -fms-extensions flag.
rdar://12808010
llvm-svn: 169422
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Among other differences, GCC accepts
typedef int IA[];
typedef int A10[10];
static A10 *f(void);
static IA *f(void);
void g(void) {
(void)sizeof(*f());
}
but clang used to reject it with:
invalid application of 'sizeof' to an incomplete type 'IA' (aka 'int []')
The intention of c99's 6.2.7 seems to be that we should use the composite type
and accept as gcc does.
Doing the type merging required some extra fixes:
* Use the type from the function type in initializations, even if an parameter
is available.
* Fix the merging of the noreturn attribute in function types.
* Make CodeGen handle the fact that an parameter type can be different from
the corresponding type in the function type.
llvm-svn: 168895
|
| |
|
|
|
|
|
| |
'getPointerWidth(0) >= 64' test to be a method on TargetInfo, ready to be
properly cleaned up.
llvm-svn: 168856
|
| |
|
|
| |
llvm-svn: 168675
|
| |
|
|
| |
llvm-svn: 168669
|
| |
|
|
|
|
|
| |
Decl::isUsed checks the attribute. If the function had a body just the check
is DeclMustBeEmitted would be sufficient.
llvm-svn: 168514
|
| |
|
|
| |
llvm-svn: 168278
|
| |
|
|
|
|
|
|
| |
We actually used to assert on this.
Thanks to NAKAMURA Takumi for noticing this!
llvm-svn: 168277
|
| |
|
|
| |
llvm-svn: 168267
|
| |
|
|
|
|
| |
current list of powerpc-darwin8 failures.
llvm-svn: 168016
|
| |
|
|
|
|
| |
Patch by Florent Bruneau!
llvm-svn: 167736
|
| |
|
|
|
|
|
|
|
|
|
| |
Haiku does not support this (yet). Leaving it set to true leads to
configure scripts detecting __thread being available and Clang emitting
code for it, resulting in binaries the runtime_loader will refuse to
load.
Patch by Jonathan Schleifer!
llvm-svn: 167576
|
| |
|
|
| |
llvm-svn: 167358
|
| |
|
|
| |
llvm-svn: 167274
|
| |
|
|
| |
llvm-svn: 167266
|
| |
|
|
| |
llvm-svn: 166793
|
| |
|
|
|
|
|
|
| |
Tested on ARM.
Patch by Joey Gouly.
llvm-svn: 166765
|
| |
|
|
| |
llvm-svn: 166759
|
| |
|
|
|
|
| |
Move C++ test into SemaCXX.
llvm-svn: 166616
|
| |
|
|
|
|
|
| |
In particular, we do want to warn on some unused cast subexpressions within
macros.
llvm-svn: 166534
|
| |
|
|
| |
llvm-svn: 166522
|
| |
|
|
| |
llvm-svn: 166499
|
| |
|
|
|
|
|
|
|
| |
defined without a previous declaration. This is similar to
-Wmissing-prototypes, but for variables instead of functions.
Patch by Ed Schouten.
llvm-svn: 166498
|
| |
|
|
| |
llvm-svn: 166463
|
| |
|
|
|
|
| |
Suggestion from Matt Beaumont-Gay reviewing r165283.
llvm-svn: 166296
|
| |
|
|
|
|
| |
VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive.
llvm-svn: 166280
|
| |
|
|
|
|
|
|
| |
"expected" is at the start of the word and will no longer accept typos such as "junkexpected-*" as a valid "expected-*" directive. A very few test-cases had to be amended to adhere to the new rule.
Patch reviewed by David Blaikie.
llvm-svn: 166279
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because PNaCl bitcode must be target-independent, it uses some
different bitcode representations from other targets (e.g. byval and
sret for structures). This means that without additional type
information, it cannot meet some native ABI requirements for some
targets (e.g. passing structures containing unions by value on
x86-64). To allow generation of code which uses the correct native
ABIs, we also support triples such as x86_64-nacl, which uses
target-dependent IR (as opposed to le32-nacl, which uses byval and
sret).
To allow interoperation between the two types of code, this patch adds
a calling convention attribute to be used in code compiled with the
target-dependent triple, which will generate code using the le32-style
bitcode. This calling convention does not need to be explicitly
supported in the backend because it determines bitcode representation
rather than native conventions (the backend just needs to undersand
how to handle byval and sret for the Native Client OS).
This patch implements __attribute__((pnaclcall)) to generate calls in
bitcode according to the le32 bitcode conventions, an attribute which
is accepted by any Native Client target, but issues a warning
otherwise.
llvm-svn: 166065
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This implementation doesn't warn on anything that GCC doesn't warn on with the
exception of templates specializations (GCC doesn't warn, Clang does). The
specific skipped cases (boolean, constant expressions, enums) are open for
debate/adjustment if anyone wants to demonstrate that GCC is being overly
conservative here. The only really obvious false positive I found was in the
Clang regression suite's MPI test - apparently MPI uses specific flag values in
pointer constants. (eg: #define FOO (void*)~0)
llvm-svn: 166039
|
| |
|
|
|
|
| |
Patch by Jeremiah Zanin.
llvm-svn: 165849
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
AAPCS ABI Section 7.1.4 [1] specifies that va_list
should be defined as struct __va_list { void *__ap;};
And in C++, it is defined in namespace std.
[1] http://infocenter.arm.com/help/topic
/com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf
Patch by Weiming Zhao.
llvm-svn: 165609
|
| |
|
|
|
|
| |
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
|