]> granicus.if.org Git - clang/log
clang
10 years agoDocumentation typo corrections
Alp Toker [Tue, 3 Dec 2013 06:53:39 +0000 (06:53 +0000)]
Documentation typo corrections

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

10 years agoFix method/variable name typos
Alp Toker [Tue, 3 Dec 2013 06:53:35 +0000 (06:53 +0000)]
Fix method/variable name typos

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

10 years agoclang-format: Explicitly set fallback style that is tested.
Daniel Jasper [Tue, 3 Dec 2013 06:48:41 +0000 (06:48 +0000)]
clang-format: Explicitly set fallback style that is tested.

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

10 years agoEmit an extension warning when changing system header tokens
Alp Toker [Tue, 3 Dec 2013 06:13:01 +0000 (06:13 +0000)]
Emit an extension warning when changing system header tokens

clang converts keywords to identifiers for compatibility with various system
headers such as GNU libc.

Implement a -Wkeyword-compat extension warning to diagnose those cases. The
warning is on by default but will generally be ignored in system headers. It
can however be enabled globally to aid standards conformance testing.

This also changes the __uptr keyword avoidance from r195710 to no longer
special-case system headers, bringing it in line with other similar workarounds
in clang.

Implementation returns bool for symmetry with token annotation functions.

Some examples:

warning: keyword '__is_pod' will be treated as an identifier for the remainder of the translation unit [-Wkeyword-compat]
struct __is_pod

warning: keyword '__uptr' will be treated as an identifier here [-Wkeyword-compat]
union w *__uptr;

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

10 years ago[AArch64]Add missing floating point convert, round and misc intrinsics.
Hao Liu [Tue, 3 Dec 2013 06:07:13 +0000 (06:07 +0000)]
[AArch64]Add missing floating point convert, round and misc intrinsics.
E.g. int64x1_t vcvt_s64_f64(float64x1_t a) -> FCVTZS Dd, Dn

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

10 years agoAArch64: add missing ACLE intrinsics mapping to general arithmetic operation from...
Hao Liu [Tue, 3 Dec 2013 05:58:49 +0000 (05:58 +0000)]
AArch64: add missing ACLE intrinsics mapping to general arithmetic operation from VFP instructions.
E.g. float64x1_t vadd_f64(float64x1_t a, float64x1_t b) -> FADD Dd, Dn, Dm.

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

10 years agoPatch by Ana Pazos.
Jiangning Liu [Tue, 3 Dec 2013 05:36:55 +0000 (05:36 +0000)]
Patch by Ana Pazos.

Fixed vcopy_laneq_f64 intrinsic implementation.

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

10 years agorevert r196152.
Hao Liu [Tue, 3 Dec 2013 05:35:17 +0000 (05:35 +0000)]
revert r196152.
This is a duplicate implementation.
E.g. this patch defines:
     float64_t vabd_f64(float64_t a, float64_t b)
But there is already a similar intrinsic "vabdd_f64" with the same types.
Also, this intrinsic will be conflicted to the vector type intrinsic as following(Which is implemented by me and will be committed to trunk):
     float64x1_t vabd_f64(float64x1_t a, float64x1_t b).
Two functions shouldn't have a same name in arm_neon.h.
According to ARM ACLE document, such vabd_f64 with float64_t is not existing.
So I revert this commit.

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

10 years agoTest to ensure no old-style-cast warning is emitted for objc-arc __bridge casts
Alp Toker [Tue, 3 Dec 2013 05:31:51 +0000 (05:31 +0000)]
Test to ensure no old-style-cast warning is emitted for objc-arc __bridge casts

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

10 years agoAArch64: Add missing scalar pair intrinsics.
Hao Liu [Tue, 3 Dec 2013 03:40:08 +0000 (03:40 +0000)]
AArch64: Add missing scalar pair intrinsics.
E.g. "float32_t vaddv_f32(float32x2_t a)" to be matched into "faddp s0, v1.2s".

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

10 years agoAdd some missing AArch64 Neon intrinsics like vuqadd_s64 and friends.
Jiangning Liu [Tue, 3 Dec 2013 01:33:16 +0000 (01:33 +0000)]
Add some missing AArch64 Neon intrinsics like vuqadd_s64 and friends.

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

10 years agoAdd some missing AArch64 Neon intrinsics like vmull_high_n_s16 and friends.
Jiangning Liu [Tue, 3 Dec 2013 01:28:55 +0000 (01:28 +0000)]
Add some missing AArch64 Neon intrinsics like vmull_high_n_s16 and friends.

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

10 years agoMS inline asm: When LLVM called back to Clang to parse a name and do name
Dmitri Gribenko [Tue, 3 Dec 2013 00:48:09 +0000 (00:48 +0000)]
MS inline asm: When LLVM called back to Clang to parse a name and do name
lookup, if parsing failed, we did not restore the lexer state properly, and
eventually crashed.  This change ensures that we always consume all the tokens
from the new token stream we started to parse the name from inline asm.

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

10 years agoRefactored the work group-related attributes to use a template, which reduces the...
Aaron Ballman [Mon, 2 Dec 2013 22:38:33 +0000 (22:38 +0000)]
Refactored the work group-related attributes to use a template, which reduces the amount of duplicate code in the handler. No functional change intended.

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

10 years agoSimplifying a test for duplicate vec_type_hint attributes. The assert and attribute...
Aaron Ballman [Mon, 2 Dec 2013 22:16:55 +0000 (22:16 +0000)]
Simplifying a test for duplicate vec_type_hint attributes. The assert and attribute kind test were superfluous. No functional change intended.

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

10 years agoThe CUDA device attribute doesn't need custom logic to check the number of attribute...
Aaron Ballman [Mon, 2 Dec 2013 21:09:08 +0000 (21:09 +0000)]
The CUDA device attribute doesn't need custom logic to check the number of attribute arguments (the common attribute handler already does this). Switching to use the simple attribute handler. No functional change intended.

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

10 years ago[AArch64] Implemented vcopy_lane patterns using scalar DUP instruction.
Chad Rosier [Mon, 2 Dec 2013 21:07:27 +0000 (21:07 +0000)]
[AArch64] Implemented vcopy_lane patterns using scalar DUP instruction.
Patch by Ana Pazos!

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

10 years ago[AArch64] Add missing NEON scalar floating-point to integer convert ACLEs.
Chad Rosier [Mon, 2 Dec 2013 21:07:24 +0000 (21:07 +0000)]
[AArch64] Add missing NEON scalar floating-point to integer convert ACLEs.

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

10 years agoDebug Info: Move the constant for Debug Info Version from Dwarf.h to Metadata.h.
Manman Ren [Mon, 2 Dec 2013 20:10:37 +0000 (20:10 +0000)]
Debug Info: Move the constant for Debug Info Version from Dwarf.h to Metadata.h.

Suggested by Eric.
Paired commit with r196144.

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

10 years agoExpand comments for Debug Info Version.
Manman Ren [Mon, 2 Dec 2013 19:37:35 +0000 (19:37 +0000)]
Expand comments for Debug Info Version.

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

10 years agoRectifying style issues with generated code. No functional change intended.
Aaron Ballman [Mon, 2 Dec 2013 19:36:42 +0000 (19:36 +0000)]
Rectifying style issues with generated code. No functional change intended.

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

10 years agoAutomate attribute language option checking by specifying the list of options to...
Aaron Ballman [Mon, 2 Dec 2013 19:30:36 +0000 (19:30 +0000)]
Automate attribute language option checking by specifying the list of options to test in tablegen.

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

10 years agoClangFormatPackage.cs: fix inconsistent line endings
Hans Wennborg [Mon, 2 Dec 2013 18:57:12 +0000 (18:57 +0000)]
ClangFormatPackage.cs: fix inconsistent line endings

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

10 years agoFactored attribute mutual exclusion code into a helper function; split the cf_audited...
Aaron Ballman [Mon, 2 Dec 2013 18:05:46 +0000 (18:05 +0000)]
Factored attribute mutual exclusion code into a helper function; split the cf_audited_transfer and cf_unknown_transfer attributes into separate helper methods for simplicity. No functional changes intended.

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

10 years agoclang-format vs plugin: use Alp's suggestion for getting the path
Hans Wennborg [Mon, 2 Dec 2013 17:40:46 +0000 (17:40 +0000)]
clang-format vs plugin: use Alp's suggestion for getting the path

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

10 years agoFix a typo in a comment: expasion -> expansion
James Dennett [Mon, 2 Dec 2013 17:39:27 +0000 (17:39 +0000)]
Fix a typo in a comment: expasion -> expansion

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

10 years agoclang-format vs plugin: bake clang-format.exe into the vsix
Hans Wennborg [Mon, 2 Dec 2013 17:31:52 +0000 (17:31 +0000)]
clang-format vs plugin: bake clang-format.exe into the vsix

This makes the clang-format plugin self-contained. Instead of
requiring clang-format.exe to be available on the PATH, this
includes it in the plugin's installer (.vsix file) and runs it
from the install directory.

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

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

10 years agoRe-enabled support for the Subjects for the weak attribute. This changes the diagnost...
Aaron Ballman [Mon, 2 Dec 2013 17:07:07 +0000 (17:07 +0000)]
Re-enabled support for the Subjects for the weak attribute. This changes the diagnostic involved to be more accurate -- for C++ code, it will now report that weak applies to variables, functions or classes. Added additional test case for this.

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

10 years agoRewriter: Output RewriteRope contents efficiently
Alp Toker [Mon, 2 Dec 2013 17:02:49 +0000 (17:02 +0000)]
Rewriter: Output RewriteRope contents efficiently

This avoids allocation of temporary std::strings for file contents, instead
writing chunks directly to the output stream.

The old character-based B-tree iterator remains intact for the time being.

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

10 years agoThe __w64 attribute handler was more generically named, but only applied to __w64...
Aaron Ballman [Mon, 2 Dec 2013 16:17:55 +0000 (16:17 +0000)]
The __w64 attribute handler was more generically named, but only applied to __w64 specifically. Renamed and removed some unused code. No functional change intended.

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

10 years agoAssume ARMv6 for NetBSD for now for strex/ldrex.
Joerg Sonnenberger [Mon, 2 Dec 2013 16:12:05 +0000 (16:12 +0000)]
Assume ARMv6 for NetBSD for now for strex/ldrex.

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

10 years agoNetBSD uses long derived size_t / ssize_t in all ARM ABIs.
Joerg Sonnenberger [Mon, 2 Dec 2013 16:09:34 +0000 (16:09 +0000)]
NetBSD uses long derived size_t / ssize_t in all ARM ABIs.

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

10 years agoThe FieldDecl is already covered by the ValueDecl case, so it is being removed.
Aaron Ballman [Mon, 2 Dec 2013 15:31:50 +0000 (15:31 +0000)]
The FieldDecl is already covered by the ValueDecl case, so it is being removed.

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

10 years agoAdded an option to specify fallback style.
Alexander Kornienko [Mon, 2 Dec 2013 15:21:38 +0000 (15:21 +0000)]
Added an option to specify fallback style.

Summary:
Added -fallback-style option. Changed clang-format to stop searching
for .clang-format when an invalid file is found.

Reviewers: djasper, klimek

Reviewed By: djasper

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

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

10 years agoSwitching the ibaction attribute handler to the generalized handler. No functional...
Aaron Ballman [Mon, 2 Dec 2013 15:13:14 +0000 (15:13 +0000)]
Switching the ibaction attribute handler to the generalized handler. No functional change intended.

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

10 years agoReplacing custom subject application logic with table-generated logic. Affects: guard...
Aaron Ballman [Mon, 2 Dec 2013 15:02:49 +0000 (15:02 +0000)]
Replacing custom subject application logic with table-generated logic. Affects: guarded_var, pt_guarded_var, guarded_by, pt_guarded_by, acquired_after and acquired_before. No functional change intended.

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

10 years agoUsing the proper set key when determining whether a SubsetSubject helper method has...
Aaron Ballman [Mon, 2 Dec 2013 14:58:17 +0000 (14:58 +0000)]
Using the proper set key when determining whether a SubsetSubject helper method has been previously generated.

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

10 years agoDriver: Factor gold support out into a function
Alp Toker [Mon, 2 Dec 2013 12:43:03 +0000 (12:43 +0000)]
Driver: Factor gold support out into a function

AddGoldPlugin() is the same on gnutools and freebsd so avoid the
copy-and-paste duplicate code.

No change in functionality.

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

10 years agoclang-format: Fix excessive formatting caused by r195954.
Daniel Jasper [Mon, 2 Dec 2013 09:19:27 +0000 (09:19 +0000)]
clang-format: Fix excessive formatting caused by r195954.

Due to a bug in the patch, clang-format would more or less simply format
all multi-line comments.

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

10 years agoCorrect a user-visible static analyzer message typo
Alp Toker [Mon, 2 Dec 2013 03:50:25 +0000 (03:50 +0000)]
Correct a user-visible static analyzer message typo

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

10 years agoFix inconsistent diag name
Alp Toker [Mon, 2 Dec 2013 03:50:21 +0000 (03:50 +0000)]
Fix inconsistent diag name

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

10 years agoCorrect test to target 'unknown'
Alp Toker [Mon, 2 Dec 2013 03:50:16 +0000 (03:50 +0000)]
Correct test to target 'unknown'

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

10 years agoHandle CC and NoReturn when instantiating members of class templates.
Rafael Espindola [Sun, 1 Dec 2013 16:54:29 +0000 (16:54 +0000)]
Handle CC and NoReturn when instantiating members of class templates.

Before we were considering them only when instantiating templates.

This fixes pr18033.

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

10 years agoCommentLexer: When proceeding with a typo corrected name don't clobber the token.
Benjamin Kramer [Sun, 1 Dec 2013 15:09:32 +0000 (15:09 +0000)]
CommentLexer: When proceeding with a typo corrected name don't clobber the token.

This would crash if the token is used in another diagnostic. PR18051.

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

10 years agoReenable ms inline asm test.
Benjamin Kramer [Sun, 1 Dec 2013 11:48:10 +0000 (11:48 +0000)]
Reenable ms inline asm test.

LLVM r196044 should make it pass.

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

10 years agoFix typo: s/Occurence/Occurrence/
Alp Toker [Sat, 30 Nov 2013 23:33:14 +0000 (23:33 +0000)]
Fix typo: s/Occurence/Occurrence/

This is a private class member so the fix shouldn't impact external projects.

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

10 years agoUpdate the LeakSanitizer documentation with a proper link.
Sergey Matveev [Sat, 30 Nov 2013 21:54:43 +0000 (21:54 +0000)]
Update the LeakSanitizer documentation with a proper link.

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

10 years agoadd an additional test case for generic attributes
Saleem Abdulrasool [Sat, 30 Nov 2013 21:17:12 +0000 (21:17 +0000)]
add an additional test case for generic attributes

gcc treats [[gnu:const]], [[gnu::__const]], and [[gnu:__const__]] as all being
equivalent.  Add an additional test case to ensure that we do not miss the last
case.

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

10 years agoNetBSD uses signed wchar_t on ARM platforms.
Joerg Sonnenberger [Sat, 30 Nov 2013 00:38:16 +0000 (00:38 +0000)]
NetBSD uses signed wchar_t on ARM platforms.

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

10 years agoRefactored the tls_model attribute to use a custom subset subject. No functional...
Aaron Ballman [Fri, 29 Nov 2013 16:20:30 +0000 (16:20 +0000)]
Refactored the tls_model attribute to use a custom subset subject. No functional change intended.

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

10 years agoUsing a custom subject to reenable the Subjects line for the ns_bridged attribute...
Aaron Ballman [Fri, 29 Nov 2013 16:13:12 +0000 (16:13 +0000)]
Using a custom subject to reenable the Subjects line for the ns_bridged attribute. No functional change intended.

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

10 years agoFixes a possible assert in the custom SubsetSubject logic for the attr emitter.
Aaron Ballman [Fri, 29 Nov 2013 16:12:29 +0000 (16:12 +0000)]
Fixes a possible assert in the custom SubsetSubject logic for the attr emitter.

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

10 years agoAdded LanguageStandard::LS_JavaScript to gate all JS-specific parsing.
Alexander Kornienko [Fri, 29 Nov 2013 15:19:43 +0000 (15:19 +0000)]
Added LanguageStandard::LS_JavaScript to gate all JS-specific parsing.

Summary:
Use LS_JavaScript for files ending with ".js". Added support for ">>>="
operator.

Reviewers: djasper, klimek

Reviewed By: djasper

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

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

10 years agoEnables support for custom subject lists for attributes. As a testbed, uses the custo...
Aaron Ballman [Fri, 29 Nov 2013 14:57:58 +0000 (14:57 +0000)]
Enables support for custom subject lists for attributes. As a testbed, uses the custom subject for the ibaction attribute.

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

10 years agoclang-format: Extends formatted ranges to subsequent lines comments.
Daniel Jasper [Fri, 29 Nov 2013 09:27:43 +0000 (09:27 +0000)]
clang-format: Extends formatted ranges to subsequent lines comments.

Before:
  int aaaa;     // This line is formatted.
                // The comment continues ..
                // .. here.

Before:
  int aaaa; // This line is formatted.
            // The comment continues ..
            // .. here.

This fixes llvm.org/PR17914.

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

10 years agoclang-format: Correctly handle Qt's Q_SLOTS.
Daniel Jasper [Fri, 29 Nov 2013 08:51:56 +0000 (08:51 +0000)]
clang-format: Correctly handle Qt's Q_SLOTS.

This should fix llvm.org/PR17241. Maybe it sticks this time :-).

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

10 years agoclang-format: Fix bad indentation of nested blocks.
Daniel Jasper [Fri, 29 Nov 2013 08:46:20 +0000 (08:46 +0000)]
clang-format: Fix bad indentation of nested blocks.

Before:
  DEBUG(  //
  { f(); });

After:
  DEBUG(  //
      { f(); });

Also add additional test to selected formatting of individual statements
in nested blocks.

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

10 years agoAArch64: Two intrinsics are expected to return float64 not float32 in arm_neon.h
Hao Liu [Fri, 29 Nov 2013 02:31:42 +0000 (02:31 +0000)]
AArch64: Two intrinsics are expected to return float64 not float32 in arm_neon.h

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

10 years agoFix the problem that the range check for scalar narrow shift is too wide.
Hao Liu [Fri, 29 Nov 2013 02:13:17 +0000 (02:13 +0000)]
Fix the problem that the range check for scalar narrow shift is too wide.
E.g. the immediate value of vshrns_n_s16 is [1,16], which should be [1,8].

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

10 years agoAdd missing intrinsic function vbsl_f64 for AArch64 NEON.
Jiangning Liu [Fri, 29 Nov 2013 01:38:49 +0000 (01:38 +0000)]
Add missing intrinsic function vbsl_f64 for AArch64 NEON.

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

10 years agoAdd missing intrinsic function vcombine_f64 for AArch64 NEON.
Jiangning Liu [Fri, 29 Nov 2013 01:29:57 +0000 (01:29 +0000)]
Add missing intrinsic function vcombine_f64 for AArch64 NEON.

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

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