]>
granicus.if.org Git - clang/log
Rafael Espindola [Wed, 18 Dec 2013 19:47:32 +0000 (19:47 +0000)]
Split setABI in two helpers. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197603
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Wed, 18 Dec 2013 19:10:54 +0000 (19:10 +0000)]
Fix OpenMP recovery with trailing tokens following the pragma
The recovery was failing due to a missing case in SkipUntil().
Also add back tests from r197553 that were reverted in the previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197598
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Wed, 18 Dec 2013 19:10:49 +0000 (19:10 +0000)]
Revert "[OPENMP] Fix for parsing OpenMP directives with extra braces, brackets and parens"
These parser changes were redundant. The same or better recovery can be
achieved with a one-line fix to SkipUntil() due to land in the next commit.
This reverts commit r197553.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197597
91177308 -0d34-0410-b5e6-
96231b3b80d8
Artyom Skrobov [Wed, 18 Dec 2013 18:55:36 +0000 (18:55 +0000)]
Adding a win32-targeted test into Tooling/multi-jobs.cpp, to make sure it doesn't get broken again
(prompted by NAKAMURA Takumi)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197596
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 18 Dec 2013 18:25:13 +0000 (18:25 +0000)]
check-clang: Fixup r197576, to replace CMAKE_CFG_INTDIR on clang_tools_dir.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197593
91177308 -0d34-0410-b5e6-
96231b3b80d8
Pekka Jaaskelainen [Wed, 18 Dec 2013 18:15:03 +0000 (18:15 +0000)]
OpenCL: Do not force 64 bit floats for (embedded) targets with only 32bit floats.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197592
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 18 Dec 2013 16:51:06 +0000 (16:51 +0000)]
ObjectiveC. Fixes the sentence in a diagnostic.
// rdar://
15397430
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197586
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 18 Dec 2013 16:38:48 +0000 (16:38 +0000)]
clang-format parts of the file.
I am about to send a patch for review touching these and clang-formating first
makes the patch much easier to read.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197585
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Wed, 18 Dec 2013 16:23:37 +0000 (16:23 +0000)]
Implement the MSABI and SysVABI calling conventions for Objective-C method declarations. This appears to be an omission from r189644.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197584
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Wed, 18 Dec 2013 15:59:41 +0000 (15:59 +0000)]
Adding some comments about AST node requirements for attributes which create AST nodes but never actually make use of them. No functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197582
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 18 Dec 2013 15:52:38 +0000 (15:52 +0000)]
Whitespace cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197580
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Wed, 18 Dec 2013 15:29:05 +0000 (15:29 +0000)]
Remove OpenCL-specific type keywords and specifiers
This commit kills off custom type specifier and keyword handling of OpenCL C
data types.
Although the OpenCL spec describes them as keywords, we can handle them more
elegantly as predefined types. This should provide better error correction and
code completion as well as simplifying the implementation.
The primary intention is however to simplify the C/C++ parser and save some
packed bits on AST structures that had been extended in r170432 just for
OpenCL.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197578
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 18 Dec 2013 15:16:50 +0000 (15:16 +0000)]
Add -f64:32:64 to the darwin ppc32 DataLayout.
A f64 inside a struct can be 32 bit aligned on darwin.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197577
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 18 Dec 2013 15:08:56 +0000 (15:08 +0000)]
check-clang: Introduce clang_tools_dir in lit.site.cfg, for clang separated from llvm.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197576
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 18 Dec 2013 15:08:49 +0000 (15:08 +0000)]
clang/test/CMakeLists.txt: Prune CLANG_SOURCE_DIR and CLANG_BINARY_DIR. They are set at top.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197575
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Wed, 18 Dec 2013 10:44:36 +0000 (10:44 +0000)]
Alexey Bataev [Wed, 18 Dec 2013 08:46:25 +0000 (08:46 +0000)]
[OPENMP] Fix for parsing OpenMP directives with extra braces, brackets and parens
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197553
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Wed, 18 Dec 2013 07:08:51 +0000 (07:08 +0000)]
clang-format: Fix ObjC method expr in binary expressions.
Before:
bool a = ([
aaaaaaaa aaaaa] ==
aaaaaaaaaaaaaaaaa || [
aaaaaaaa aaaaa] ==
aaaaaaaaaaaaaaaaaaaa );
After:
bool a = ([
aaaaaaaa aaaaa] ==
aaaaaaaaaaaaaaaaa ||
[
aaaaaaaa aaaaa] ==
aaaaaaaaaaaaaaaaaaaa );
This fixes llvm.org/PR18271.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197552
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 18 Dec 2013 04:53:17 +0000 (04:53 +0000)]
Use arm-nacl-gnueabi instead of arm-nacl to match the previous tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197550
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 18 Dec 2013 04:35:56 +0000 (04:35 +0000)]
Split this test into one per supporter nacl arch.
Right now clang produces the same DataLayout for all of them, but it could, for
example, add 'n' specifications when the end architecture is given.
No functionality change, this should just make future changes easier to read.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197549
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 18 Dec 2013 04:14:53 +0000 (04:14 +0000)]
Print the 'p' specification before the 'i' specification.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197548
91177308 -0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Wed, 18 Dec 2013 01:39:59 +0000 (01:39 +0000)]
Fix comment-code function name mismatch
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197544
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Wed, 18 Dec 2013 00:58:58 +0000 (00:58 +0000)]
clang-format-diff.py: add the OpenCL file extension
It's handled correctly as a C-family language.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197542
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 18 Dec 2013 00:52:54 +0000 (00:52 +0000)]
ObjectiveC. typo fix in my last patch,
per Jordan's review.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197540
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 17 Dec 2013 23:30:58 +0000 (23:30 +0000)]
Add a 's' specifications to AArch64.
This has no functionality change as clang adds explicit alignment info for
byval arguments. The only difference is that now the clang produced
DataLayout string for AArch64 is identical to the LLVM produced one.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197538
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Tue, 17 Dec 2013 23:29:36 +0000 (23:29 +0000)]
Move some more test-and-consumes over to TryConsumeToken()
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197537
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 17 Dec 2013 22:44:28 +0000 (22:44 +0000)]
Objctive-C. warn if dealloc is being overridden in
a category implementation. // rdar://
15397430
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197534
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Tue, 17 Dec 2013 22:22:14 +0000 (22:22 +0000)]
Documentation comment parsing: when checking if we have typedef to something
that we consider a function for the purposes of checking \param and \returns,
look through reference types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197530
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Tue, 17 Dec 2013 22:06:11 +0000 (22:06 +0000)]
Documentation comment parsing: allow \param and \returns on std::function,
boost::function and similar function-like objects
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197528
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Tue, 17 Dec 2013 21:35:24 +0000 (21:35 +0000)]
None of these attributes currently make use of an AST node, so setting ASTNode = 0 to reduce complexity. No functional change intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197525
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 17 Dec 2013 21:01:22 +0000 (21:01 +0000)]
Use triples that match the -target-abi option.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197522
91177308 -0d34-0410-b5e6-
96231b3b80d8
Roman Divacky [Tue, 17 Dec 2013 20:34:25 +0000 (20:34 +0000)]
Use the integrated assembler by default on FreeBSD/ppc and ppc64.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197521
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Tue, 17 Dec 2013 19:46:40 +0000 (19:46 +0000)]
[ms-cxxabi] The 'most derived' ctor parameter usually comes last
Unlike Itanium's VTTs, the 'most derived' boolean or bitfield is the
last parameter for non-variadic constructors, rather than the second.
For variadic constructors, the 'most derived' parameter comes after the
'this' parameter. This affects constructor calls and constructor decls
in a variety of places.
Reviewers: timurrrr
Differential Revision: http://llvm-reviews.chandlerc.com/D2405
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197518
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Tue, 17 Dec 2013 19:45:12 +0000 (19:45 +0000)]
Documentation comment parsing: rearrange tests to clarify the intent of these tests
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197517
91177308 -0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Tue, 17 Dec 2013 19:39:18 +0000 (19:39 +0000)]
Fix line endings in microsoft-dtor-lookup-cxx11.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197516
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 17 Dec 2013 19:33:43 +0000 (19:33 +0000)]
Objective-C. Make diagnostics and fix-its consistent
when diagnosing casting of a cstring literal to
NSString in default and -fobjc-arc mode.
// rdar://
14106083
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197515
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Tue, 17 Dec 2013 19:28:18 +0000 (19:28 +0000)]
Fix strange indentation and remove trailing whitespace on empty lines
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197513
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Tue, 17 Dec 2013 18:17:46 +0000 (18:17 +0000)]
Bring order to the OpenCL keywords
Avoid the gratuitous repurposing of C++ keyword 'private' by using a keyword
alias.
Also attempt to document the OpenCL keywords based on scraps of information
found online.
The purpose of this commit is to reduce impact on the C++ parser.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197511
91177308 -0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Tue, 17 Dec 2013 17:49:22 +0000 (17:49 +0000)]
[ms-cxxabi] Don't do destructor check on declarations if the dtor is deleted
We would previously emit redundant diagnostics for the following code:
struct S {
virtual ~S() = delete;
void operator delete(void*, int);
void operator delete(void*, double);
} s;
First we would check on ~S() and error about the ambigous delete functions,
and then we would error about using the deleted destructor.
If the destructor is deleted, there's no need to check it.
Also, move the check from Sema::ActOnFields to CheckCompleteCXXClass. These
are run at almost the same time, called from ActOnFinishCXXMemberSpecification.
However, CHeckCompleteCXXClass may mark a defaulted destructor as deleted, and
if that's the case we don't want to check it.
Differential Revision: http://llvm-reviews.chandlerc.com/D2421
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197509
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Tue, 17 Dec 2013 17:25:19 +0000 (17:25 +0000)]
Fix indentation from r197490 plus some typos
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197507
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 17 Dec 2013 16:07:35 +0000 (16:07 +0000)]
Remove -f128:128 from the DataLayout strings. It is the default.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197504
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 17 Dec 2013 15:40:00 +0000 (15:40 +0000)]
The PS3 is a ppc64 and has 64 bit registers. Update DataLayout accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197502
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 17 Dec 2013 14:34:42 +0000 (14:34 +0000)]
Remove -f16:16:32 from the XCore DataLayout string.
This makes it identical to the string llvm produces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197500
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Tue, 17 Dec 2013 14:12:37 +0000 (14:12 +0000)]
Refactor and micro-optimize ConsumeToken()
1) Introduce TryConsumeToken() to handle the common test-and-consume pattern.
This brings about readability improvements in the parser and optimizes to avoid
redundant checks in the common case.
2) Eliminate the ConsumeCodeCompletionTok special case from ConsumeToken(). This
was used by only one caller which has been switched over to the more
appropriate ConsumeCodeCompletionToken() function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197497
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Tue, 17 Dec 2013 14:12:30 +0000 (14:12 +0000)]
Simplify RevertibleTypeTraits as a form of contextual keyword
Now that we emit diagnostics for keyword-as-identifier hacks (-Wkeyword-compat)
we can go ahead and simplify some of the old revertible keyword support.
This commit adds a TryIdentKeywordUpgrade() function to mirror the recently
added TryKeywordIdentFallback() and uses it to replace the hard-coded list of
REVERTIBLE_TYPE_TRAITs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197496
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Tue, 17 Dec 2013 13:21:13 +0000 (13:21 +0000)]
Update comment of changed parameter of ModuleMap constructor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197495
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Tue, 17 Dec 2013 12:38:55 +0000 (12:38 +0000)]
clang-format: Don't adapt local format to macros.
Formatting this:
void f() { // 1 space initial indent.
int i;
#define A \
int i; \
int j;
int k; // Format this line.
}
void f() {
#define A 1 // Format this line.
}
Before:
void f() { // 1 space initial indent.
int i;
#define A \
int i; \
int j;
int k; // Format this line.
}
void f() {
#define A 1 // Format this line.
}
After:
void f() { // 1 space initial indent.
int i;
#define A \
int i; \
int j;
int k; // Format this line.
}
void f() {
#define A 1 // Format this line.
}
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197494
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Barton [Tue, 17 Dec 2013 11:11:25 +0000 (11:11 +0000)]
LIBRARY_PATH environment variable should only be supported on a native compiler.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197490
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Tue, 17 Dec 2013 10:47:49 +0000 (10:47 +0000)]
Add missing file from r197485.
(Yes, the irony is not lost on me :-) ).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197486
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Tue, 17 Dec 2013 10:31:37 +0000 (10:31 +0000)]
Modules: Don't warn upon missing headers while reading the module map.
Instead, mark the module as unavailable so that clang errors as soon as
someone tries to build this module.
This works towards the long-term goal of not stat'ing the header files at all
while reading the module map and instead read them only when the module is
being built (there is a corresponding FIXME in parseHeaderDecl()). However, it
seems non-trivial to get there and this unblock us and moves us into the right
direction.
Also changed the implementation to reuse the same DiagnosticsEngine.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197485
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 17 Dec 2013 04:14:26 +0000 (04:14 +0000)]
[CMake][Standalone] Import LLVM_LIT_TOOLS_DIR.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197461
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 17 Dec 2013 04:14:22 +0000 (04:14 +0000)]
[CMake][Standalone] Fix llvm-tblgen's directory to use LLVM_TOOLS_BINARY_DIR instead of LLVM_BINARY_DIR.
LLVM_BINARY_DIR points OBJROOT.
FIXME: llvm-config should show *real* bindir with --bindir.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197460
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 17 Dec 2013 04:14:17 +0000 (04:14 +0000)]
[CMake][Standalone] Fixup r197395 for standalone build.
Standalone scripts shall be rewritten.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197459
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Tue, 17 Dec 2013 01:22:38 +0000 (01:22 +0000)]
ASTContext: Refactor implicit record creation
Tidy up built-in record creation to reduce code duplication.
Continuation of r197336.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197452
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Tue, 17 Dec 2013 01:19:19 +0000 (01:19 +0000)]
Add a test for -fno-diagnostics-fixit-info
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197450
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 17 Dec 2013 01:01:33 +0000 (01:01 +0000)]
ObjectiveC migrator. Fixes a bug when protocol
conformance is inferred. // rdar://
15515206
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197448
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Trieu [Tue, 17 Dec 2013 00:40:40 +0000 (00:40 +0000)]
For -Wconsumed, walk the namespaces to find if the top most namespace is "std"
to determine if a move function is the std::move function. This allows functions
like std::__1::move to also be treated a the move function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197445
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 17 Dec 2013 00:04:48 +0000 (00:04 +0000)]
Reorder these DataLayout entries to match the order LLVM uses.
This completes the cleanup/refactoring of DataLayout on the clang side. Next
is figuring out the differences between the llvm and clang produced strings
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197442
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 17 Dec 2013 00:02:38 +0000 (00:02 +0000)]
clang/lib/Headers/CMakeLists.txt: Revert part of r197395. It should not be staged yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197441
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 16 Dec 2013 23:27:41 +0000 (23:27 +0000)]
The preferred alignment defaults to the ABI one. Omit it if it is the same.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197440
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 16 Dec 2013 23:03:23 +0000 (23:03 +0000)]
Remove another default I missed before.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197437
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 16 Dec 2013 22:54:37 +0000 (22:54 +0000)]
ObjectiveC. Further improvements of use
of objc_bridge_related attribute; eliminate
unnecessary diagnostics which is issued elsewhere,
fixit now produces a valid AST tree per convention.
This results in some simplification in handling of
this attribute as well. // rdar://
15499111
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197436
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 16 Dec 2013 22:50:41 +0000 (22:50 +0000)]
Clang DataLayout string cleanup: don't print other defaults.
I missed these in previous commits.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197435
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 16 Dec 2013 22:15:35 +0000 (22:15 +0000)]
Remove dead data.
The f80:128:128 was followed by a f80:32:32 and so never used. Looks like this
was there since r91746.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197433
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 16 Dec 2013 21:59:14 +0000 (21:59 +0000)]
Clang DataLayout string cleanup: don't print the pointer defaults.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197430
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 16 Dec 2013 21:51:30 +0000 (21:51 +0000)]
Clang DataLayout string cleanup: don't print the aggregate defaults.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197429
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Trieu [Mon, 16 Dec 2013 21:41:30 +0000 (21:41 +0000)]
Fix PR18260 - Make std::move handling in -Wconsumed only trigger on std::move
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197428
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 16 Dec 2013 21:38:22 +0000 (21:38 +0000)]
Clang DataLayout string cleanup: don't print the vector defaults.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197427
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Mon, 16 Dec 2013 20:54:13 +0000 (20:54 +0000)]
In a standalone Clang build, default to building tests, like LLVM does
LLVM_INCLUDE_TESTS is set in the top-level LLVM CMakeLists, which is not being
executed when Clang is built in a separate directory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197423
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 16 Dec 2013 20:34:33 +0000 (20:34 +0000)]
Clang DataLayout string cleanup: don't print the FP defaults.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197422
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 16 Dec 2013 20:21:07 +0000 (20:21 +0000)]
Clang DataLayout string cleanup: don't print the integer defaults.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197421
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 16 Dec 2013 19:53:26 +0000 (19:53 +0000)]
Misc test cleanups.
* tbaa-struct.cpp always has a 64 bit pointer.
* f32:32:32, f64:64:64 and f128:128:128 are defaults, don't assume they are
printed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197415
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kaelyn Uhrain [Mon, 16 Dec 2013 19:25:47 +0000 (19:25 +0000)]
Revert "Maybe add new warning for shadowing simple tag types"
This reverts commit
2b43f500cfea10a8c59c986dcfc24fd08eecc77d .
This was accidentally committed because I failed to notice my client
wasn't clean prior to submitting a fix for a crasher.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197410
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kaelyn Uhrain [Mon, 16 Dec 2013 19:19:18 +0000 (19:19 +0000)]
Make Sema::BuildCXXNestedNameSpecifier correctly clear the previous
CXXScopeSpec when necessary while performing typo correction. This fixes
the crash reported in PR18213 (the problem existed since r185487, and
r193020 made it easier to hit).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197409
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kaelyn Uhrain [Mon, 16 Dec 2013 19:19:13 +0000 (19:19 +0000)]
Maybe add new warning for shadowing simple tag types
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197408
91177308 -0d34-0410-b5e6-
96231b3b80d8
Joerg Sonnenberger [Mon, 16 Dec 2013 19:16:04 +0000 (19:16 +0000)]
Support EABIHF environment on ARM.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197406
91177308 -0d34-0410-b5e6-
96231b3b80d8
Joerg Sonnenberger [Mon, 16 Dec 2013 18:30:28 +0000 (18:30 +0000)]
GNUEABIHF is the same as GNUEABI for anything not float/double related,
so use the same exception size as GNUEABI does.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197404
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Mon, 16 Dec 2013 18:29:54 +0000 (18:29 +0000)]
[AArch64] Fix v1fx patterns for Floating-point Multiply Extend and Floating-point Compare to Zero.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197403
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Mon, 16 Dec 2013 17:54:57 +0000 (17:54 +0000)]
Add bit_FXSAVE as an alias for bit_FXSR, for gcc compat.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197399
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 16 Dec 2013 16:03:21 +0000 (16:03 +0000)]
[CMake] Introduce CLANG_RUNTIME_OUTPUT_INTDIR and CLANG_LIBRARY_OUTPUT_INTDIR.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197395
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Mon, 16 Dec 2013 15:01:54 +0000 (15:01 +0000)]
clang-format: Keep trailing annotations together.
Before:
virtual void aaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaa aaaa,
aaaaaaaaaaa aaaaa) const
override;
virtual void
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa () const
override;
After:
virtual void aaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaa aaaa,
aaaaaaaaaaa aaaaa) const override;
virtual void
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ()
const override;
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197391
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Mon, 16 Dec 2013 14:57:22 +0000 (14:57 +0000)]
Revert "Modules: Make missing headers in a module.map a warning not an error."
This was committed accidentally.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197389
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Mon, 16 Dec 2013 14:53:57 +0000 (14:53 +0000)]
Modules: Make missing headers in a module.map a warning not an error.
Instead, mark the module as unavailable so that clang errors as soon as
someone tries to build this module.
A better long-term strategy might be to not stat the header files at all
while reading the module map and instead read them only when the module
is being built (there is a corresponding FIXME in parseHeaderDecl()).
However, it seems non-trivial to get there and this would be a temporary
solution to unblock us.
Also changed the implementation to reuse the same DiagnosticsEngine as
otherwise warnings can't be enabled or disabled with command-line flags.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197388
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexander Kornienko [Mon, 16 Dec 2013 14:35:51 +0000 (14:35 +0000)]
Always break before the colon in constructor initializers, when
BreakConstructorInitializersBeforeComma is true.
This option is used in WebKit style, so this also ensures initializer lists are
not put on a single line, as per the WebKit coding guidelines.
Patch by Florian Sowade!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197386
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexander Kornienko [Mon, 16 Dec 2013 10:57:30 +0000 (10:57 +0000)]
Added -iregex for case-insensitive regex to filter file names.
Summary:
-regex and -iregex both mimic options of the find utility.
Made the default list of extensions case-insensitive, so that it's not only C
and CPP extensions are accepted in upper case.
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2415
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197378
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Mon, 16 Dec 2013 08:36:18 +0000 (08:36 +0000)]
clang-format: Fix formatting of function type parameters.
Before:
void f() { typedef void (*f)(int * a); }
After:
void f() { typedef void (*f)(int *a); }
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197369
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Mon, 16 Dec 2013 07:23:08 +0000 (07:23 +0000)]
clang-format: Improve handling of raw string literals.
Especially try to keep existing line breaks before raw string literals,
as the code author might have aligned content to it.
Thereby, clang-format now keeps things like:
parseStyle(R"(
BasedOnStyle: Google,
ColumnLimit: 100)");
parseStyle(
R"(BasedOnStyle: Google,
ColumnLimit: 100)");
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197368
91177308 -0d34-0410-b5e6-
96231b3b80d8
Duncan P. N. Exon Smith [Mon, 16 Dec 2013 03:20:06 +0000 (03:20 +0000)]
Stop crashing on empty asm input constraints
An empty string for an ASM input constraint is invalid, and will crash
during clang CodeGen. Change TargetInfo::validateInputConstraint to
reject an empty string.
<rdar://problem/
15552191 >
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197362
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 15 Dec 2013 17:53:44 +0000 (17:53 +0000)]
Add tests for all DescriptionString in Targets.cpp.
These right now just test that the same string is present in two files, but will
become more useful as clang's handling of DataLayout is refactored.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197347
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 15 Dec 2013 17:21:28 +0000 (17:21 +0000)]
Delete dead code.
This is always overwritten by the one in NaClTargetInfo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197346
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 15 Dec 2013 14:51:00 +0000 (14:51 +0000)]
Remove unused diagnostic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197345
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Sun, 15 Dec 2013 13:05:48 +0000 (13:05 +0000)]
Allow target-specific attributes to share a spelling between different attributes via the ParseKind field. Attributes will be given a common parsed attribute identifier (the AttributeList::AT_* enum), but retain distinct Attr subclasses.
This new functionality is used to implement the ARM and MSP430 interrupt attribute.
Patch reviewed by Richard Smith over IRC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197343
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Sun, 15 Dec 2013 10:36:26 +0000 (10:36 +0000)]
ASTContext: Declare builtin types implicitly
__builtin_va_list and friends have been showing up where they shouldn't for way
to long, making unwanted appearences in -ast-print, tooling and source level
visitors and even the hello world tutorial on the clang website.
This commit factors down the implicit typedef and record creation facilities to
ensure they're marked implicit.
Also fixes a unit test that was testing incorrect behaviour, and removes old
hacks in the DeclPrinter that tried to skip implicit declarations manually.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197336
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Sat, 14 Dec 2013 23:32:31 +0000 (23:32 +0000)]
Lexer: Issue -Wbackslash-newline-escape for line comments
The warning for backslash and newline separated by whitespace was missed in
this code path.
backslash<whitespace><newline> is handled differently from compiler to compiler
so it's important to warn consistently where there's ambiguity.
Matches similar handling of block comments and non-comment lines.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197331
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Sat, 14 Dec 2013 23:32:27 +0000 (23:32 +0000)]
Fix test containing backslash and newline separated by space
This was silently accepted by clang without warning due to a lexer bug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197330
91177308 -0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Sat, 14 Dec 2013 17:04:17 +0000 (17:04 +0000)]
Add triple to CodeGenCXX/2004-03-08-ReinterpretCastCopy.cpp in MS ABI mode
I don't think we should need a triple, but this allows us to run the test
until we fix it (PR18251).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197326
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sat, 14 Dec 2013 06:03:28 +0000 (06:03 +0000)]
CompilationDatabase.cpp:stripPositionalArgs(): Match not "no-integrated-as" but "-no-integrated-as", it really fixes r197229.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Sat, 14 Dec 2013 04:49:06 +0000 (04:49 +0000)]
Remove 'not' from some CodeGen tests
These were just missing an expected-no-diagnostics directive.
Also add -std=c++11 to a test warning noisly about extensions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197308
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sat, 14 Dec 2013 03:18:05 +0000 (03:18 +0000)]
PR18246: When performing template argument deduction to decide which template
is specialized by an explicit specialization, start from the first declaration
in case we've got a member of a class template (redeclarations might not number
the template parameters the same way).
Our recover here is still far from ideal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197305
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 14 Dec 2013 02:16:41 +0000 (02:16 +0000)]
[objc] Add a test to make sure that a class can add a secondary initializer via a category
and still inherit the designated initializers of its super class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197301
91177308 -0d34-0410-b5e6-
96231b3b80d8