]> granicus.if.org Git - clang/log
clang
10 years agoclang-format: Improve selective formatting of nested statements.
Daniel Jasper [Thu, 28 Nov 2013 15:58:55 +0000 (15:58 +0000)]
clang-format: Improve selective formatting of nested statements.

Previously, clang-format could create quite corrupt formattings if
individual lines of nested blocks (e.g. in "DEBUG({})" or lambdas) were
used. With this patch, it tries to extend the formatted regions to leave
around some reasonable format without always formatting the entire
surrounding statement.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195925 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoInclusionRewriter: Avoid duplicated BOM check
Alp Toker [Thu, 28 Nov 2013 07:21:44 +0000 (07:21 +0000)]
InclusionRewriter: Avoid duplicated BOM check

The lexer already knows its position in the file, so use that instead of
guessing it might be 3.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195910 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix test on Windows
Alp Toker [Thu, 28 Nov 2013 05:55:40 +0000 (05:55 +0000)]
Fix test on Windows

'not' on Windows tries and fails to convert the argument to UTF-16 and back for
some reason:

  Error: Unable to convert command-line to UTF-16

Let's try replacing it with !.

(There was no obvious way to do these with FileCheck)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195907 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoSema: Assert that there are no pending local instantiations left
David Majnemer [Thu, 28 Nov 2013 01:45:16 +0000 (01:45 +0000)]
Sema: Assert that there are no pending local instantiations left

This should have been part of r195887, not sure how it slipped through
the cracks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195906 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoEnsure that the output BOM test check is run
Alp Toker [Thu, 28 Nov 2013 01:22:29 +0000 (01:22 +0000)]
Ensure that the output BOM test check is run

The first command's output was only reaching one of the two checks previously.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195904 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAdd a return statement to the func with an int return type.
Kaelyn Uhrain [Thu, 28 Nov 2013 00:13:38 +0000 (00:13 +0000)]
Add a return statement to the func with an int return type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195897 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoOne last portability fix attempt for r195886
Alp Toker [Wed, 27 Nov 2013 23:29:37 +0000 (23:29 +0000)]
One last portability fix attempt for r195886

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195891 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAttempt to make test from r195886 portable with different shells
Alp Toker [Wed, 27 Nov 2013 23:16:06 +0000 (23:16 +0000)]
Attempt to make test from r195886 portable with different shells

Windows and Hexagon complained. It's not clear which command is failing, so
will back out the changes if this doesn't do the trick.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195889 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAdd support for C++'s SD6 feature test macros.
Richard Smith [Wed, 27 Nov 2013 22:58:16 +0000 (22:58 +0000)]
Add support for C++'s SD6 feature test macros.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195888 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoSema: Instantiation of variable definitions weren't local enough
David Majnemer [Wed, 27 Nov 2013 22:57:44 +0000 (22:57 +0000)]
Sema: Instantiation of variable definitions weren't local enough

We wouldn't properly save and restore the pending local instantiations
we had built up prior to instantiation of a variable definition.  This
would lead to us instantiating too much causing crashes and other
general badness.

This fixes PR14374.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195887 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoImprove BOM test from r195877
Alp Toker [Wed, 27 Nov 2013 22:54:04 +0000 (22:54 +0000)]
Improve BOM test from r195877

 1) Use %clang_cc1 instead of the driver
 2) Validate that the input contains a BOM
 3) Validate that the BOM has been stripped from the output

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195886 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agostrip UTF-8 BOM in -frewrite-includes (PR#15664)
Lubos Lunak [Wed, 27 Nov 2013 21:14:43 +0000 (21:14 +0000)]
strip UTF-8 BOM in -frewrite-includes (PR#15664)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195877 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove unused diagnostic.
Benjamin Kramer [Wed, 27 Nov 2013 20:19:11 +0000 (20:19 +0000)]
Remove unused diagnostic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195876 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRenaming Struct to GenericRecord for clarity; could not use Record as the enumerant...
Aaron Ballman [Wed, 27 Nov 2013 20:14:30 +0000 (20:14 +0000)]
Renaming Struct to GenericRecord for clarity; could not use Record as the enumerant because that's already taken by the Record class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195875 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoBring back a StringRef used in some build configurations
Alp Toker [Wed, 27 Nov 2013 19:44:04 +0000 (19:44 +0000)]
Bring back a StringRef used in some build configurations

This was removed in the great unused local cleanup of r195814.

Adding cast-to-void to suppress unused variable warnings.

Should fix certain builds like ARCMT.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195872 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoConverts the lockable attributes to use the simple attribute handler because the...
Aaron Ballman [Wed, 27 Nov 2013 19:35:27 +0000 (19:35 +0000)]
Converts the lockable attributes to use the simple attribute handler because the semantic checking was already automated.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195866 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAutomated checking for C++ when determining what argument to send to the diagnostic...
Aaron Ballman [Wed, 27 Nov 2013 19:16:55 +0000 (19:16 +0000)]
Automated checking for C++ when determining what argument to send to the diagnostic for attribute subjects. In turn, this allows the Subjects to be enabled for some more attributes and improves diagnostics. Updated a test case based on the improved diagnostic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195864 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAdding the Subjects entry back for the noreturn attributes. This caused some test...
Aaron Ballman [Wed, 27 Nov 2013 18:53:58 +0000 (18:53 +0000)]
Adding the Subjects entry back for the noreturn attributes. This caused some test cases to be updated because the original diagnostic was about applying to methods as well as functions, but the semantic checking disallowed methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195862 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoEnabling the subject list for the warn_unused attribute, and adding a test case....
Aaron Ballman [Wed, 27 Nov 2013 16:59:17 +0000 (16:59 +0000)]
Enabling the subject list for the warn_unused attribute, and adding a test case. Previously, would issue a "warning ignored" diagnostic instead of the more specific "only applies to."

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195851 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAdding in the subject for the init_priority attribute.
Aaron Ballman [Wed, 27 Nov 2013 16:34:09 +0000 (16:34 +0000)]
Adding in the subject for the init_priority attribute.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195850 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRefactored semantic handlers that would unilaterally apply the attribute to a Decl...
Aaron Ballman [Wed, 27 Nov 2013 15:24:06 +0000 (15:24 +0000)]
Refactored semantic handlers that would unilaterally apply the attribute to a Decl so they all go through a common interface. No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195848 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoTrivial fix: remove unused variable
Alexander Kornienko [Wed, 27 Nov 2013 15:02:03 +0000 (15:02 +0000)]
Trivial fix: remove unused variable

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195846 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix the AArch64 NEON bug exposed by checking constant integer argument range of ACLE...
Jiangning Liu [Wed, 27 Nov 2013 14:02:55 +0000 (14:02 +0000)]
Fix the AArch64 NEON bug exposed by checking constant integer argument range of ACLE intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195844 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemoving the description part of a subset subject. It is unused, and wouldn't be...
Aaron Ballman [Wed, 27 Nov 2013 13:56:12 +0000 (13:56 +0000)]
Removing the description part of a subset subject. It is unused, and wouldn't be future-proof regarding translation issues. It is also covered by SubjectList's CustomDiag member.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195842 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoLaying the basic groundwork for table generating the diagnostics for attribute subjec...
Aaron Ballman [Wed, 27 Nov 2013 13:27:02 +0000 (13:27 +0000)]
Laying the basic groundwork for table generating the diagnostics for attribute subjects. This makes some modifications to the way subjects are listed in Attr.td, and updates the attr emitter to handle the new constructs.

I have disabled some attribute subject lines on purpose in Attr.td;
this part is a WIP with the goal being to restore those subjects
incrementally. By commenting them out, it leaves the original behavior
the same as before for those attributes and so those are not
functionality changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195841 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[libclang] Check for LIBCLANG_DISABLE_CRASH_RECOVERY before enabling crash recovery.
Argyrios Kyrtzidis [Wed, 27 Nov 2013 08:58:09 +0000 (08:58 +0000)]
[libclang] Check for LIBCLANG_DISABLE_CRASH_RECOVERY before enabling crash recovery.

Suggested by Alp Toker.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195829 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[Sema] Don't look for the instantiation of a local extern decl in a different
Argyrios Kyrtzidis [Wed, 27 Nov 2013 08:34:14 +0000 (08:34 +0000)]
[Sema] Don't look for the instantiation of a local extern decl in a different
dependent context that the one we are instantiating, otherwise there will be an assertion.

rdar://15464547

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195828 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoSema: Instantiate local class and their members appropriately
David Majnemer [Wed, 27 Nov 2013 08:20:38 +0000 (08:20 +0000)]
Sema: Instantiate local class and their members appropriately

We would fail to instantiate them when the surrounding function was
instantiated. Instantiate the class and add it's members to the list of
pending instantiations, they should be resolved when we are finished
with the function's body.

This fixes PR9685.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195827 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[libclang] Make sure we don't access past the tokens buffer while token annotation.
Argyrios Kyrtzidis [Wed, 27 Nov 2013 05:50:55 +0000 (05:50 +0000)]
[libclang] Make sure we don't access past the tokens buffer while token annotation.

Also disable crash recovery using 'LIBCLANG_DISABLE_CRASH_RECOVERY' environment variable.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195819 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove a whole lot of unused variables
Alp Toker [Wed, 27 Nov 2013 05:22:15 +0000 (05:22 +0000)]
Remove a whole lot of unused variables

There are about 30 removed in this patch, generated by a new FixIt I haven't
got round to submitting yet.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195814 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAdd a triple to fix this test on Windows
Alp Toker [Wed, 27 Nov 2013 04:59:03 +0000 (04:59 +0000)]
Add a triple to fix this test on Windows

The warning from cmake-clang-x64-msc16-R was:

  test\SemaCXX\old-style-cast.cpp Line 6: cast to 'void **' from smaller integer type 'long'

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195813 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoUnify lookup from within not-yet-defined defaulted special members: use common
Richard Smith [Wed, 27 Nov 2013 03:39:20 +0000 (03:39 +0000)]
Unify lookup from within not-yet-defined defaulted special members: use common
code for handling triviality, deletedness and constexpr. Fix a few bugs in
these, particularly related to mutable members, and remove some dead code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195809 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoImplement -Wold-style-cast
Alp Toker [Wed, 27 Nov 2013 03:18:17 +0000 (03:18 +0000)]
Implement -Wold-style-cast

Based on a patch by Ondřej Hošek!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195808 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove 'DistinctSpellings' support from Attr.td and change its only user to
Richard Smith [Wed, 27 Nov 2013 01:46:48 +0000 (01:46 +0000)]
Remove 'DistinctSpellings' support from Attr.td and change its only user to
look at the attribute spelling instead. The 'ownership_*' attributes should
probably be split into separate *Attr classes, but that's more than I wanted to
do here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195805 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[AArch64] Add support for NEON scalar floating-point absolute difference.
Chad Rosier [Wed, 27 Nov 2013 01:46:19 +0000 (01:46 +0000)]
[AArch64] Add support for NEON scalar floating-point absolute difference.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195804 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix the build break introduced by r195799 by restoring two close
Chandler Carruth [Wed, 27 Nov 2013 01:40:12 +0000 (01:40 +0000)]
Fix the build break introduced by r195799 by restoring two close
curlies.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195802 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoDocumentation cleanup: Doxygen-ification, typo fixes, and changing some of
James Dennett [Wed, 27 Nov 2013 01:27:40 +0000 (01:27 +0000)]
Documentation cleanup: Doxygen-ification, typo fixes, and changing some of
the duplicated documentation from .cpp files so that it's not processed by
Doxygen and hence doesn't generate duplicate output.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195799 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove unused entity from .td file.
Richard Smith [Tue, 26 Nov 2013 22:31:59 +0000 (22:31 +0000)]
Remove unused entity from .td file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195792 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[AArch64] Add support for NEON scalar floating-point to integer convert
Chad Rosier [Tue, 26 Nov 2013 22:17:51 +0000 (22:17 +0000)]
[AArch64] Add support for NEON scalar floating-point to integer convert
instructions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195789 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoThread safety analysis: fix ICE due to missing null check on dyn_cast.
DeLesley Hutchins [Tue, 26 Nov 2013 19:45:21 +0000 (19:45 +0000)]
Thread safety analysis: fix ICE due to missing null check on dyn_cast.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195777 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoReplacing a custom diagnostic with a more standard one. No functional change intended.
Aaron Ballman [Tue, 26 Nov 2013 16:14:15 +0000 (16:14 +0000)]
Replacing a custom diagnostic with a more standard one. No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195770 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoDon't call getMostRecentDecl when we know we have it.
Rafael Espindola [Tue, 26 Nov 2013 16:09:08 +0000 (16:09 +0000)]
Don't call getMostRecentDecl when we know we have it.

On a Release build this takes the testcase in pr18055 from 0m3.892s to 0m1.452s.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195768 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoMove these virtual methods out of line.
Rafael Espindola [Tue, 26 Nov 2013 15:12:20 +0000 (15:12 +0000)]
Move these virtual methods out of line.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195767 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoChanged non-printable characters in the test to the escaped form. Apparently, not...
Alexander Kornienko [Tue, 26 Nov 2013 13:31:46 +0000 (13:31 +0000)]
Changed non-printable characters in the test to the escaped form. Apparently, not all tools display non-printable characters ;)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195761 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agofix a typo
Gabor Greif [Tue, 26 Nov 2013 13:28:51 +0000 (13:28 +0000)]
fix a typo

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195760 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[Mips] Pass -mmsa option to the assembler.
Simon Atanasyan [Tue, 26 Nov 2013 11:58:04 +0000 (11:58 +0000)]
[Mips] Pass -mmsa option to the assembler.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195756 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[Mips] Replace explicit argument handling by the single ArgList::AddLastArg() call.
Simon Atanasyan [Tue, 26 Nov 2013 11:57:58 +0000 (11:57 +0000)]
[Mips] Replace explicit argument handling by the single ArgList::AddLastArg() call.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195755 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[Mips] Reduce number of FileCheck variables used in the tests.
Simon Atanasyan [Tue, 26 Nov 2013 11:57:53 +0000 (11:57 +0000)]
[Mips] Reduce number of FileCheck variables used in the tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195754 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[Mips] Add support for nan2008 libraries and headers look up for Code
Simon Atanasyan [Tue, 26 Nov 2013 11:57:48 +0000 (11:57 +0000)]
[Mips] Add support for nan2008 libraries and headers look up for Code
Sourcery MIPS toolchain.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195753 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[Mips] Merge two MIPS Code Sourcery toolchain tests into the single one.
Simon Atanasyan [Tue, 26 Nov 2013 11:57:19 +0000 (11:57 +0000)]
[Mips] Merge two MIPS Code Sourcery toolchain tests into the single one.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195752 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[Mips] Do not detect a used MIPS toolchain. Build a path suffix for FSF
Simon Atanasyan [Tue, 26 Nov 2013 11:57:14 +0000 (11:57 +0000)]
[Mips] Do not detect a used MIPS toolchain. Build a path suffix for FSF
toolchain first and check the path existence. If the path does not
exist build and check a path suffix for Code Sourcery toolchain.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195751 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[Mips] Call findMIPSABIDirSuffix() for MIPS targets only.
Simon Atanasyan [Tue, 26 Nov 2013 11:57:09 +0000 (11:57 +0000)]
[Mips] Call findMIPSABIDirSuffix() for MIPS targets only.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195750 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix crash in getStringSplit.
Alexander Kornienko [Tue, 26 Nov 2013 10:38:53 +0000 (10:38 +0000)]
Fix crash in getStringSplit.

Summary:
getStringSplit used to crash, when trying to split a long string
literal containing both printable and unprintable multi-byte UTF-8 characters.

Reviewers: djasper, klimek

Reviewed By: djasper

CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2268

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195728 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove some unused locals
Alp Toker [Tue, 26 Nov 2013 02:52:41 +0000 (02:52 +0000)]
Remove some unused locals

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195714 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoUnbreak -fms-extensions with GNU libc headers
Alp Toker [Tue, 26 Nov 2013 01:30:10 +0000 (01:30 +0000)]
Unbreak -fms-extensions with GNU libc headers

GNU libc uses '__uptr' as a member name in C mode, conflicting with the
eponymous MSVC pointer modifier keyword.

Detect and mark the token as an identifier when these specific conditions are
met. __uptr will continue to work as a keyword for the remainder of the
translation unit.

Fixes PR17824.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195710 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix buildbot.
Richard Smith [Tue, 26 Nov 2013 00:40:46 +0000 (00:40 +0000)]
Fix buildbot.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195703 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoClang format VS plugin: update build prerequisites in the README
Hans Wennborg [Mon, 25 Nov 2013 21:42:06 +0000 (21:42 +0000)]
Clang format VS plugin: update build prerequisites in the README

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195690 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoPR18044: Reject declarations of enumtype::X early to avoid an assertion in
Richard Smith [Mon, 25 Nov 2013 21:30:29 +0000 (21:30 +0000)]
PR18044: Reject declarations of enumtype::X early to avoid an assertion in
downstream code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195687 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoMake the integrated assembler the default for cygwin/mingw too.
Rafael Espindola [Mon, 25 Nov 2013 18:50:53 +0000 (18:50 +0000)]
Make the integrated assembler the default for cygwin/mingw too.

The integrated assembler was already the default for win32. It is now able
to handle a clang bootstrap on mingw, so make it the default.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195676 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoMaking type_tag_for_datatype consistent with its declared subject from Attr.td. Also...
Aaron Ballman [Mon, 25 Nov 2013 18:50:49 +0000 (18:50 +0000)]
Making type_tag_for_datatype consistent with its declared subject from Attr.td. Also updated the related testcase.

Reviewed by Dmitri Gribenko.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195675 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix test failure on targets where size_t is unsigned int.
Richard Smith [Mon, 25 Nov 2013 18:23:23 +0000 (18:23 +0000)]
Fix test failure on targets where size_t is unsigned int.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195673 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[-cxx-abi microsoft] Create backrefs for <unnamed-type-`id'>
David Majnemer [Mon, 25 Nov 2013 17:50:19 +0000 (17:50 +0000)]
[-cxx-abi microsoft] Create backrefs for <unnamed-type-`id'>

It wasn't possible for an anonymous type to show up inside of function arguments.
However, decltype (which MSVC added support for in 2010) makes this
possible.  Further, backrefs to these anonymous types can now be formed.

This fixes PR18022.

N.B. We do not, and very likely _will not_, support MSVC's bug where
subsequent typedefs of anonymous types leak into the linkage name; this
is a gross violation of the ABI.  A warning should be introduced to
inform our users of this particular shortcoming.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195669 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAnother pass at adding missing matchers into the registry.
Samuel Benzaquen [Mon, 25 Nov 2013 15:03:44 +0000 (15:03 +0000)]
Another pass at adding missing matchers into the registry.

Summary: Another pass at adding missing matchers into the registry.

Reviewers: klimek

CC: cfe-commits, revane, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2253

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195647 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[ARM] Enable FeatureMP for Cortex-A5 by default.
Amara Emerson [Mon, 25 Nov 2013 13:18:59 +0000 (13:18 +0000)]
[ARM] Enable FeatureMP for Cortex-A5 by default.

Patch by Oliver Stannard.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195641 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Fix formatting of empty files (fixes c-index-tests).
Daniel Jasper [Mon, 25 Nov 2013 11:53:05 +0000 (11:53 +0000)]
clang-format: Fix formatting of empty files (fixes c-index-tests).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195638 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Refactor calculation of lines intersecting with -lines.
Daniel Jasper [Mon, 25 Nov 2013 11:08:59 +0000 (11:08 +0000)]
clang-format: Refactor calculation of lines intersecting with -lines.

No functional changes intended. However, it seems to have found a buggy
behavior in one of the tests. I think this structure is generally
desirable and it will make a planned bugfix significantly easier.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195634 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoTests for core issues 270-300.
Richard Smith [Mon, 25 Nov 2013 08:07:41 +0000 (08:07 +0000)]
Tests for core issues 270-300.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195626 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoTake cv-qualifiers on fields of class type into account when determining
Richard Smith [Mon, 25 Nov 2013 07:07:05 +0000 (07:07 +0000)]
Take cv-qualifiers on fields of class type into account when determining
whether a defaulted special member function should be deleted.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195620 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoSemaDeclAttr.cpp: Try to fix a warning [-Wunnamed-type-template-args]
NAKAMURA Takumi [Mon, 25 Nov 2013 00:52:29 +0000 (00:52 +0000)]
SemaDeclAttr.cpp: Try to fix a warning [-Wunnamed-type-template-args]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195589 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAdd heading and remove leftover personal email addresses
Alp Toker [Mon, 25 Nov 2013 00:40:53 +0000 (00:40 +0000)]
Add heading and remove leftover personal email addresses

clang's attribute support is mature by now so replace Sean's warning and email
address with a standard LLVM copyright heading.

Also remove a personal email address and credit docstring from CGObjCGNU that
shouldn't have been there.

This is in line with the LLVM developer policy introduced in r45410.
Contributors can add themselves to CREDITS.txt while active module owners are
listed in CODE_OWNERS.TXT.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195587 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoremove gcc::Precompile
Rafael Espindola [Sun, 24 Nov 2013 23:40:06 +0000 (23:40 +0000)]
remove gcc::Precompile

Clang still has support for running gcc for performing various stages
of a build. Right now it looks like this is used for

* Supporting Fortran in the clang driver
* Running an assembler or linker in systems we don't yet know how to
run them directly.

It looks like the gcc::Precompile is a vestige from the days when we
supported using clang for C and running gcc for c++. This patch removes it
(yes, we have no tests for it).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195586 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove the Darwin_Generic_GCC toolchain.
Rafael Espindola [Sun, 24 Nov 2013 23:28:23 +0000 (23:28 +0000)]
Remove the Darwin_Generic_GCC toolchain.

This is currently unused by any test. The code path would still be hit
by clang on ppc, but

* PPC has not been supported on current versions of OS X
* A port of current clang to older OS X on ppc should be using
toolchains::DarwinClang.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195585 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoSwitching the common attribute over to using the generic diagnostic, and removing...
Aaron Ballman [Sun, 24 Nov 2013 21:48:06 +0000 (21:48 +0000)]
Switching the common attribute over to using the generic diagnostic, and removing the now-unused diagnostic. Updates a test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195581 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago__declspec(uuid) is only supported for C++ code according to MSDN (as well as behavio...
Aaron Ballman [Sun, 24 Nov 2013 21:35:16 +0000 (21:35 +0000)]
__declspec(uuid) is only supported for C++ code according to MSDN (as well as behaviorally in MSVC). This adds a generic diagnostic that we use for uuid, and can use for some other attributes as well, and adds a testcase.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195580 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago__declspec(uuid) is only allowed on a class according to MSDN; this makes the semanti...
Aaron Ballman [Sun, 24 Nov 2013 20:58:02 +0000 (20:58 +0000)]
__declspec(uuid) is only allowed on a class according to MSDN; this makes the semantic checking consistent with what the attribute specifies in Attr.td. Also adds a test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195579 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoMaking some attribute diagnostics more consistent. Removes a newly-unused diagnostic.
Aaron Ballman [Sun, 24 Nov 2013 20:36:50 +0000 (20:36 +0000)]
Making some attribute diagnostics more consistent. Removes a newly-unused diagnostic.

Reviewed by Fariborz Jahanian

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195578 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoParse Microsoft __declspec appearing after class body
Alp Toker [Sun, 24 Nov 2013 20:24:54 +0000 (20:24 +0000)]
Parse Microsoft __declspec appearing after class body

MSVC applies these to the following declaration only if present, otherwise
silently ignores them whereas we'll issue a warning.

Handling differs from ordinary attributes appearing in the same place, so add a
Sema test to make sure we get it right.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195577 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[test] Add test case I forgot to add for r195564.
Argyrios Kyrtzidis [Sun, 24 Nov 2013 17:05:58 +0000 (17:05 +0000)]
[test] Add test case I forgot to add for r195564.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195572 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[Parser] Unbreak parsing with incremental parsing enabled and add a unit-test for it.
Argyrios Kyrtzidis [Sun, 24 Nov 2013 02:12:18 +0000 (02:12 +0000)]
[Parser] Unbreak parsing with incremental parsing enabled and add a unit-test for it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195564 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix a typo: "SLocEnty" should read "SLocEntry".
James Dennett [Sun, 24 Nov 2013 01:47:49 +0000 (01:47 +0000)]
Fix a typo: "SLocEnty" should read "SLocEntry".

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195563 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoUse specific_attr_iterator to tighten loop over ObjCSuppressProtocolAttrs.
Ted Kremenek [Sat, 23 Nov 2013 22:51:36 +0000 (22:51 +0000)]
Use specific_attr_iterator to tighten loop over ObjCSuppressProtocolAttrs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195561 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove optional parameter bit from attribute ObjCSuppressProtocol.
Ted Kremenek [Sat, 23 Nov 2013 22:29:11 +0000 (22:29 +0000)]
Remove optional parameter bit from attribute ObjCSuppressProtocol.

This refines some diagnostics and reduces some boilerplate checking logic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195560 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoMove logic to check if a class is tagged with objc_suppress_protocol_methods into...
Ted Kremenek [Sat, 23 Nov 2013 22:29:06 +0000 (22:29 +0000)]
Move logic to check if a class is tagged with objc_suppress_protocol_methods into a helper.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195559 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix a SSE2 intrinsics typo
Alp Toker [Sat, 23 Nov 2013 22:11:57 +0000 (22:11 +0000)]
Fix a SSE2 intrinsics typo

Full discourse at:

  http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20131104/092514.html
  http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-November/068124.html

Patch by Dimitry Andric and Alexey Dokuchaev!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195558 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[CodeGen] If there is a function definition with duplicate mangled name, emit an...
Argyrios Kyrtzidis [Sat, 23 Nov 2013 18:41:35 +0000 (18:41 +0000)]
[CodeGen] If there is a function definition with duplicate mangled name, emit an error instead of asserting.

rdar://15522601 & http://llvm.org/PR18031

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195556 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Support Qt's slot access specifiers.
Daniel Jasper [Sat, 23 Nov 2013 17:53:41 +0000 (17:53 +0000)]
clang-format: Support Qt's slot access specifiers.

This fixes llvm.org/PR17241.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195555 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoDon't use the gcc driver for assembling.
Rafael Espindola [Sat, 23 Nov 2013 16:40:57 +0000 (16:40 +0000)]
Don't use the gcc driver for assembling.

Clang knows how to use the gnu assembler directly from doing so on linux and
hurd. The existing support worked out of the box on cygwin and mingw and I was
able to bootstrap clang with it in both systems (with pending patches for the
new mingw abi, but that is independent of the assembler).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195554 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Fix incorrect space in parameters named by comment.
Daniel Jasper [Sat, 23 Nov 2013 14:51:47 +0000 (14:51 +0000)]
clang-format: Fix incorrect space in parameters named by comment.

This fixes llvm.org/PR17979.

Before:
  void f() { g(/*aaa=*/x, /*bbb=*/ !y); }

After:
  void f() { g(/*aaa=*/x, /*bbb=*/!y); }

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195553 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: The "<" of a template argument is not a binary operator.
Daniel Jasper [Sat, 23 Nov 2013 14:45:49 +0000 (14:45 +0000)]
clang-format: The "<" of a template argument is not a binary operator.

With Style.BreakBeforeBinaryOperators, clang-format breaks incorrectly.
This fixes llvm.org/PR17994.

Before:
  return boost::fusion::at_c<0>(iiii).second == boost::fusion::at_c
                                                <1>(iiii).second;

After:
  return boost::fusion::at_c<0>(iiii).second ==
         boost::fusion::at_c<1>(iiii).second;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195552 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoDon't pass +soft-float, +soft-float-abi to the arm assembler.
Rafael Espindola [Sat, 23 Nov 2013 14:36:40 +0000 (14:36 +0000)]
Don't pass +soft-float, +soft-float-abi to the arm assembler.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195551 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Fix bug in ObjC method declaration formatting.
Daniel Jasper [Sat, 23 Nov 2013 14:27:27 +0000 (14:27 +0000)]
clang-format: Fix bug in ObjC method declaration formatting.

Also disallow breaking between "@" and "{" or "[".

Before:
  - (NSAttributedString *)attributedStringForSegment:(NSUInteger)segment
                                               index:(NSUInteger)index
                                          attributes:(NSDictionary *)attributes
                                  nonDigitAttributes:(NSDictionary *)
      nonDigitAttributes;
  [mailComposeViewController
     setToRecipients:@
     [ NSBundle.mainBundle.infoDictionary[@"ABBFeedbackEmail"] ]];

After:
  - (NSAttributedString *)attributedStringForSegment:(NSUInteger)segment
                                               index:(NSUInteger)index
                                          attributes:(NSDictionary *)attributes
                                  nonDigitAttributes:
                                      (NSDictionary *)nonDigitAttributes;
  [mailComposeViewController
      setToRecipients:
          @[ NSBundle.mainBundle.infoDictionary[@"ABBFeedbackEmail"] ]];

This fixes llvm.org/PR18030.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195550 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoEnable non-fragile ABI for the ObjFW runtime
Benjamin Kramer [Sat, 23 Nov 2013 10:57:32 +0000 (10:57 +0000)]
Enable non-fragile ABI for the ObjFW runtime

The following patch enables the non-fragile ABI for the ObjFW runtime.

However, I noticed that it is not possible anymore to disable it with
-fno-objc-nonfragile-abi like it was before. I think this functionality should
be restored, but I guess this is not in scope for 3.4 anymore.

Patch by Jonathan Schleifer!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195547 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Prefer column layout if possible.
Daniel Jasper [Sat, 23 Nov 2013 10:22:59 +0000 (10:22 +0000)]
clang-format: Prefer column layout if possible.

Add a severe penalty for not using column layout for braced lists. If
there are solutions with column layout, these are generally preferable
over bin-packed solutions.

Before:
  std::vector<MyValues> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaa,
                                             aaaaaaaaaaaaaaa, aaa, aaaaaaaaaa, a,
                                             aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
                                             aaaaaaaaaaaaaaaaaaa +
                                                 aaaaaaaaaaaaaaaaaaa,
                                             aaaaaaa, a };
After:
  std::vector<MyValues> aaaaaaaaaaaaaaaaaaa{
    aaaaaaa,      aaaaaaaaaa,
    aaaaa,        aaaaaaaaaaaaaaa,
    aaa,          aaaaaaaaaa,
    a,            aaaaaaaaaaaaaaaaaaaaa,
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaa,
    aaaaaaa,      a
  };

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195546 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix module name collision in tests.
Richard Smith [Sat, 23 Nov 2013 05:21:32 +0000 (05:21 +0000)]
Fix module name collision in tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195545 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoGenerate a marker token when entering or leaving a submodule when building a
Richard Smith [Sat, 23 Nov 2013 04:06:09 +0000 (04:06 +0000)]
Generate a marker token when entering or leaving a submodule when building a
module. Use the marker to diagnose cases where we try to transition between
submodules when not at the top level (most likely because a closing brace was
missing at the end of a header file, but is also possible if submodule headers
attempt to do something fundamentally non-modular, like our .def files).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195543 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAdd Distance parameter to ASTNodeKind::isBaseOf.
Peter Collingbourne [Sat, 23 Nov 2013 01:40:07 +0000 (01:40 +0000)]
Add Distance parameter to ASTNodeKind::isBaseOf.

This will allow the completer to order results by relevance.

Differential Revision: http://llvm-reviews.chandlerc.com/D2209

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195540 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRename *MatcherCreateCallback to *MatcherDescriptor, and its member run() to create().
Peter Collingbourne [Sat, 23 Nov 2013 01:34:36 +0000 (01:34 +0000)]
Rename *MatcherCreateCallback to *MatcherDescriptor, and its member run() to create().

The new names will be more appropriate when the objects are taught to return
type information for the code completer.

Differential Revision: http://llvm-reviews.chandlerc.com/D2208

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195539 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoSplit registry matcher resolution into a lookup phase and a construction phase.
Peter Collingbourne [Sat, 23 Nov 2013 01:13:16 +0000 (01:13 +0000)]
Split registry matcher resolution into a lookup phase and a construction phase.

The looked-up matchers will be used during code completion.

Differential Revision: http://llvm-reviews.chandlerc.com/D2207

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195534 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAdd back experimental attribute objc_suppress_protocol_methods (slightly renamed).
Ted Kremenek [Sat, 23 Nov 2013 01:01:34 +0000 (01:01 +0000)]
Add back experimental attribute objc_suppress_protocol_methods (slightly renamed).

This is still an experimental attribute, but I wanted it in tree
for review.  It may still get yanked.

This attribute can only be applied to a class @interface, not
a class extension or category.  It does not change the type
system rules for Objective-C, but rather the implementation checking
for Objective-C classes that explicitly conform to a protocol.
During protocol conformance checking, clang recursively searches
up the class hierarchy for the set of methods that compose
a protocol.  This attribute will cause the compiler to not consider
the methods contributed by a super class, its categories, and those
from its ancestor classes.  Thus this attribute is used to force
subclasses to redeclare (and hopefully re-implement) methods if
they decide to explicitly conform to a protocol where some of those
methods may be provided by a super class.

This attribute intentionally leaves out properties, which are associated
with state.  This attribute only considers methods (at least right now)
that are non-property accessors.  These represent methods that "do something"
as dictated by the protocol.  This may be further refined, and this
should be considered a WIP until documentation gets written or this
gets removed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195533 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoChange ObjCIntefaceDecl::lookupMethod() to have optional 'followsSuper' argument.
Ted Kremenek [Sat, 23 Nov 2013 01:01:29 +0000 (01:01 +0000)]
Change ObjCIntefaceDecl::lookupMethod() to have optional 'followsSuper' argument.

This enables a micro-optimization in protocol conformance checking
to not examine the class hierarchy twice per method.

As part of this change, remove the default arguments from lookupInstanceMethod()
and lookupClassMethod().  It was becoming very redundant.  For clients
needing the default arguments, have them use the full API instead of
these convenience methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195532 91177308-0d34-0410-b5e6-96231b3b80d8