]> granicus.if.org Git - clang/log
clang
11 years agoMerging r196045:
Bill Wendling [Mon, 2 Dec 2013 07:35:57 +0000 (07:35 +0000)]
Merging r196045:
------------------------------------------------------------------------
r196045 | d0k | 2013-12-01 03:48:10 -0800 (Sun, 01 Dec 2013) | 3 lines

Reenable ms inline asm test.

LLVM r196044 should make it pass.
------------------------------------------------------------------------

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

11 years agoMerging r196050:
Bill Wendling [Mon, 2 Dec 2013 02:05:28 +0000 (02:05 +0000)]
Merging r196050:
------------------------------------------------------------------------
r196050 | rafael | 2013-12-01 08:54:29 -0800 (Sun, 01 Dec 2013) | 5 lines

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/branches/release_34@196057 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195943:
Bill Wendling [Sun, 1 Dec 2013 04:35:05 +0000 (04:35 +0000)]
Merging r195943:
------------------------------------------------------------------------
r195943 | haoliu | 2013-11-28 18:31:42 -0800 (Thu, 28 Nov 2013) | 2 lines

AArch64: Two intrinsics are expected to return float64 not float32 in arm_neon.h

------------------------------------------------------------------------

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

11 years agoMerging r195942:
Bill Wendling [Sun, 1 Dec 2013 04:34:50 +0000 (04:34 +0000)]
Merging r195942:
------------------------------------------------------------------------
r195942 | haoliu | 2013-11-28 18:13:17 -0800 (Thu, 28 Nov 2013) | 3 lines

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/branches/release_34@196022 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195941:
Bill Wendling [Sun, 1 Dec 2013 04:34:31 +0000 (04:34 +0000)]
Merging r195941:
------------------------------------------------------------------------

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

11 years agoMerging r195940:
Bill Wendling [Sun, 1 Dec 2013 04:34:18 +0000 (04:34 +0000)]
Merging r195940:
------------------------------------------------------------------------
r195940 | jiangning | 2013-11-28 17:38:49 -0800 (Thu, 28 Nov 2013) | 2 lines

Add missing intrinsic function vbsl_f64 for AArch64 NEON.

------------------------------------------------------------------------

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

11 years agoMerging r195939:
Bill Wendling [Sun, 1 Dec 2013 04:34:03 +0000 (04:34 +0000)]
Merging r195939:
------------------------------------------------------------------------

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

11 years agoMerging r195938:
Bill Wendling [Sun, 1 Dec 2013 04:33:50 +0000 (04:33 +0000)]
Merging r195938:
------------------------------------------------------------------------

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

11 years agoMerging r195937:
Bill Wendling [Sun, 1 Dec 2013 04:33:38 +0000 (04:33 +0000)]
Merging r195937:
------------------------------------------------------------------------
r195937 | jiangning | 2013-11-28 17:29:57 -0800 (Thu, 28 Nov 2013) | 2 lines

Add missing intrinsic function vcombine_f64 for AArch64 NEON.

------------------------------------------------------------------------

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

11 years agoMerging r195936:
Bill Wendling [Sun, 1 Dec 2013 04:33:23 +0000 (04:33 +0000)]
Merging r195936:
------------------------------------------------------------------------

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

11 years agoMerging r195932:
Bill Wendling [Sun, 1 Dec 2013 04:33:11 +0000 (04:33 +0000)]
Merging r195932:
------------------------------------------------------------------------

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

11 years agoMerging r195905:
Bill Wendling [Sun, 1 Dec 2013 04:32:59 +0000 (04:32 +0000)]
Merging r195905:
------------------------------------------------------------------------

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

11 years agoMerging r195903:
Bill Wendling [Sun, 1 Dec 2013 04:32:46 +0000 (04:32 +0000)]
Merging r195903:
------------------------------------------------------------------------

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

11 years agoMerging r195844:
Bill Wendling [Sun, 1 Dec 2013 04:32:33 +0000 (04:32 +0000)]
Merging r195844:
------------------------------------------------------------------------
r195844 | jiangning | 2013-11-27 06:02:55 -0800 (Wed, 27 Nov 2013) | 2 lines

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/branches/release_34@196012 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195843:
Bill Wendling [Sun, 1 Dec 2013 04:32:18 +0000 (04:32 +0000)]
Merging r195843:
------------------------------------------------------------------------

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

11 years agoMerging r195713:
Bill Wendling [Sun, 1 Dec 2013 04:32:04 +0000 (04:32 +0000)]
Merging r195713:
------------------------------------------------------------------------

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

11 years agoMerging r195970:
Bill Wendling [Sun, 1 Dec 2013 04:22:48 +0000 (04:22 +0000)]
Merging r195970:
------------------------------------------------------------------------
r195970 | joerg | 2013-11-29 16:38:16 -0800 (Fri, 29 Nov 2013) | 2 lines

NetBSD uses signed wchar_t on ARM platforms.

------------------------------------------------------------------------

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

11 years agoMerging r195792:
Bill Wendling [Sun, 1 Dec 2013 03:46:47 +0000 (03:46 +0000)]
Merging r195792:
------------------------------------------------------------------------
r195792 | rsmith | 2013-11-26 14:31:59 -0800 (Tue, 26 Nov 2013) | 2 lines

Remove unused entity from .td file.

------------------------------------------------------------------------

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

11 years agoMerging r195777:
Bill Wendling [Sun, 1 Dec 2013 03:45:49 +0000 (03:45 +0000)]
Merging r195777:
------------------------------------------------------------------------
r195777 | delesley | 2013-11-26 11:45:21 -0800 (Tue, 26 Nov 2013) | 1 line

Thread safety analysis: fix ICE due to missing null check on dyn_cast.
------------------------------------------------------------------------

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

11 years agoMerging r195804:
Bill Wendling [Sun, 1 Dec 2013 03:06:29 +0000 (03:06 +0000)]
Merging r195804:
------------------------------------------------------------------------
r195804 | mcrosier | 2013-11-26 17:46:19 -0800 (Tue, 26 Nov 2013) | 1 line

[AArch64] Add support for NEON scalar floating-point absolute difference.
------------------------------------------------------------------------

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

11 years agoMerging r195789:
Bill Wendling [Sun, 1 Dec 2013 03:04:49 +0000 (03:04 +0000)]
Merging r195789:
------------------------------------------------------------------------
r195789 | mcrosier | 2013-11-26 14:17:51 -0800 (Tue, 26 Nov 2013) | 2 lines

[AArch64] Add support for NEON scalar floating-point to integer convert
instructions.
------------------------------------------------------------------------

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

11 years agoMerging r195906:
Bill Wendling [Sun, 1 Dec 2013 02:10:35 +0000 (02:10 +0000)]
Merging r195906:
------------------------------------------------------------------------
r195906 | majnemer | 2013-11-27 17:45:16 -0800 (Wed, 27 Nov 2013) | 5 lines

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/branches/release_34@195990 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195897:
Bill Wendling [Sun, 1 Dec 2013 02:09:57 +0000 (02:09 +0000)]
Merging r195897:
------------------------------------------------------------------------
r195897 | rikka | 2013-11-27 16:13:38 -0800 (Wed, 27 Nov 2013) | 1 line

Add a return statement to the func with an int return type.
------------------------------------------------------------------------

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

11 years agoMerging r195877:
Bill Wendling [Sun, 1 Dec 2013 02:07:35 +0000 (02:07 +0000)]
Merging r195877:
------------------------------------------------------------------------
r195877 | llunak | 2013-11-27 13:14:43 -0800 (Wed, 27 Nov 2013) | 3 lines

strip UTF-8 BOM in -frewrite-includes (PR#15664)

------------------------------------------------------------------------

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

11 years agoMerging r195983:
Sergey Matveev [Sat, 30 Nov 2013 22:08:15 +0000 (22:08 +0000)]
Merging r195983:
------------------------------------------------------------------------
r195983 | smatveev | 2013-12-01 01:54:43 +0400 (Sun, 01 Dec 2013) | 1 line

Update the LeakSanitizer documentation with a proper link.
------------------------------------------------------------------------

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

11 years agoMerging r195887:
Bill Wendling [Thu, 28 Nov 2013 00:34:28 +0000 (00:34 +0000)]
Merging r195887:
------------------------------------------------------------------------
r195887 | majnemer | 2013-11-27 14:57:44 -0800 (Wed, 27 Nov 2013) | 9 lines

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/branches/release_34@195901 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195827:
Bill Wendling [Thu, 28 Nov 2013 00:34:08 +0000 (00:34 +0000)]
Merging r195827:
------------------------------------------------------------------------
r195827 | majnemer | 2013-11-27 00:20:38 -0800 (Wed, 27 Nov 2013) | 9 lines

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/branches/release_34@195900 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195888:
Bill Wendling [Thu, 28 Nov 2013 00:33:42 +0000 (00:33 +0000)]
Merging r195888:
------------------------------------------------------------------------
r195888 | rsmith | 2013-11-27 14:58:16 -0800 (Wed, 27 Nov 2013) | 2 lines

Add support for C++'s SD6 feature test macros.

------------------------------------------------------------------------

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

11 years agoMerging r195768:
Bill Wendling [Wed, 27 Nov 2013 05:28:46 +0000 (05:28 +0000)]
Merging r195768:
------------------------------------------------------------------------
r195768 | rafael | 2013-11-26 08:09:08 -0800 (Tue, 26 Nov 2013) | 3 lines

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/branches/release_34@195816 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195303:
Bill Wendling [Wed, 27 Nov 2013 05:27:22 +0000 (05:27 +0000)]
Merging r195303:
------------------------------------------------------------------------
r195303 | rsmith | 2013-11-20 17:53:02 -0800 (Wed, 20 Nov 2013) | 4 lines

PR10837: Warn if a null pointer constant is formed by a zero integer constant
expression that is not a zero literal, in C. This is a different, and more
targeted, approach than that in r194540.

------------------------------------------------------------------------

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

11 years agoMerging r195760:
Bill Wendling [Wed, 27 Nov 2013 04:55:09 +0000 (04:55 +0000)]
Merging r195760:
------------------------------------------------------------------------
r195760 | ggreif | 2013-11-26 05:28:51 -0800 (Tue, 26 Nov 2013) | 1 line

fix a typo
------------------------------------------------------------------------

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

11 years agoMerging r195409:
Bill Wendling [Tue, 26 Nov 2013 14:08:29 +0000 (14:08 +0000)]
Merging r195409:
------------------------------------------------------------------------
r195409 | jiangning | 2013-11-21 18:46:20 -0800 (Thu, 21 Nov 2013) | 2 lines

For AArch64, intrinsic vget_low_xxx can be optimized away.

------------------------------------------------------------------------

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

11 years agoMerging r195716:
Bill Wendling [Tue, 26 Nov 2013 10:56:42 +0000 (10:56 +0000)]
Merging r195716:
------------------------------------------------------------------------

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

11 years agoMerging r195693:
Bill Wendling [Tue, 26 Nov 2013 10:54:48 +0000 (10:54 +0000)]
Merging r195693:
------------------------------------------------------------------------

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

11 years agoMerging r195669:
Bill Wendling [Tue, 26 Nov 2013 10:45:43 +0000 (10:45 +0000)]
Merging r195669:
------------------------------------------------------------------------
r195669 | majnemer | 2013-11-25 09:50:19 -0800 (Mon, 25 Nov 2013) | 13 lines

[-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/branches/release_34@195729 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195422:
Bill Wendling [Tue, 26 Nov 2013 10:24:32 +0000 (10:24 +0000)]
Merging r195422:
------------------------------------------------------------------------
r195422 | alp | 2013-11-22 00:27:46 -0800 (Fri, 22 Nov 2013) | 5 lines

Tidy up the no-external-assembler diag

Diags aren't usually in the first person, and 'windows' isn't the correct
product spelling to use in prose. Sidestep issues completely by making this
error message platform-neutral.
------------------------------------------------------------------------

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

11 years agoMerging r195420:
Bill Wendling [Tue, 26 Nov 2013 10:24:12 +0000 (10:24 +0000)]
Merging r195420:
------------------------------------------------------------------------
r195420 | alp | 2013-11-22 00:00:20 -0800 (Fri, 22 Nov 2013) | 6 lines

Add txt file extension to VS solution's README

This matches other README.txt files in LLVM and makes things more obvious on
Windows where it's likely to be read. CRLFs are retained for the same reason.

Also fix Visual Studio product name.
------------------------------------------------------------------------

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

11 years agoMerging r195587:
Bill Wendling [Tue, 26 Nov 2013 10:23:53 +0000 (10:23 +0000)]
Merging r195587:
------------------------------------------------------------------------
r195587 | alp | 2013-11-24 16:40:53 -0800 (Sun, 24 Nov 2013) | 11 lines

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/branches/release_34@195724 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195710:
Bill Wendling [Tue, 26 Nov 2013 04:10:07 +0000 (04:10 +0000)]
Merging r195710:
------------------------------------------------------------------------
r195710 | alp | 2013-11-25 17:30:10 -0800 (Mon, 25 Nov 2013) | 10 lines

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/branches/release_34@195721 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195687:
Bill Wendling [Tue, 26 Nov 2013 04:09:45 +0000 (04:09 +0000)]
Merging r195687:
------------------------------------------------------------------------
r195687 | rsmith | 2013-11-25 13:30:29 -0800 (Mon, 25 Nov 2013) | 3 lines

PR18044: Reject declarations of enumtype::X early to avoid an assertion in
downstream code.

------------------------------------------------------------------------

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

11 years agoMerging r195620:
Bill Wendling [Tue, 26 Nov 2013 04:05:40 +0000 (04:05 +0000)]
Merging r195620:
------------------------------------------------------------------------
r195620 | rsmith | 2013-11-24 23:07:05 -0800 (Sun, 24 Nov 2013) | 3 lines

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/branches/release_34@195719 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195556:
Bill Wendling [Mon, 25 Nov 2013 07:42:52 +0000 (07:42 +0000)]
Merging r195556:
------------------------------------------------------------------------
r195556 | akirtzidis | 2013-11-23 10:41:35 -0800 (Sat, 23 Nov 2013) | 3 lines

[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/branches/release_34@195623 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195558:
Bill Wendling [Mon, 25 Nov 2013 05:44:52 +0000 (05:44 +0000)]
Merging r195558:
------------------------------------------------------------------------
r195558 | alp | 2013-11-23 14:11:57 -0800 (Sat, 23 Nov 2013) | 8 lines

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/branches/release_34@195617 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195501:
Bill Wendling [Mon, 25 Nov 2013 05:40:33 +0000 (05:40 +0000)]
Merging r195501:
------------------------------------------------------------------------
r195501 | joerg | 2013-11-22 13:34:35 -0800 (Fri, 22 Nov 2013) | 5 lines

Adjust r194296 to not apply the alias replacement for externally
available always-inline functions. This breaks libc++'s locale
implementation. Code generation for this case should be fixed, but this
is a stop gap fix for clang 3.4.

------------------------------------------------------------------------

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

11 years agoMerging r195329:
Bill Wendling [Mon, 25 Nov 2013 05:39:42 +0000 (05:39 +0000)]
Merging r195329:
------------------------------------------------------------------------
r195329 | apazos | 2013-11-21 00:15:01 -0800 (Thu, 21 Nov 2013) | 5 lines

Implemented Neon scalar vdup_lane intrinsics.

Fixed scalar dup alias and added test case.

------------------------------------------------------------------------

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

11 years agoMerging r195326:
Bill Wendling [Mon, 25 Nov 2013 05:39:19 +0000 (05:39 +0000)]
Merging r195326:
------------------------------------------------------------------------
r195326 | apazos | 2013-11-20 23:36:33 -0800 (Wed, 20 Nov 2013) | 6 lines

Implemented Neon scalar by element intrinsics.

Intrinsics implemented: vqdmull_lane, vqdmulh_lane, vqrdmulh_lane,
vqdmlal_lane, vqdmlsl_lane scalar Neon intrinsics.

------------------------------------------------------------------------

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

11 years agoMerging r195547:
Bill Wendling [Sat, 23 Nov 2013 11:05:49 +0000 (11:05 +0000)]
Merging r195547:
------------------------------------------------------------------------
r195547 | d0k | 2013-11-23 02:57:32 -0800 (Sat, 23 Nov 2013) | 9 lines

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/branches/release_34@195548 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerging r195384:
Bill Wendling [Fri, 22 Nov 2013 00:01:44 +0000 (00:01 +0000)]
Merging r195384:
------------------------------------------------------------------------
r195384 | rsmith | 2013-11-21 15:30:57 -0800 (Thu, 21 Nov 2013) | 2 lines

PR18013: Don't assert diagnosing a bad std::initializer_list construction.

------------------------------------------------------------------------

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

11 years agoMerging r195367:
Bill Wendling [Thu, 21 Nov 2013 23:33:07 +0000 (23:33 +0000)]
Merging r195367:
------------------------------------------------------------------------
r195367 | joey | 2013-11-21 09:09:05 -0800 (Thu, 21 Nov 2013) | 17 lines

Fix a crash in EmitStoreThroughExtVectorComponentLValue for vectors of odd sizes.

In OpenCL a vector of 3 elements, acts like a vector of four elements.
So for a vector of size 3 the '.hi' and '.odd' accessors, would access
the elements {2, 3} and {1, 3} respectively.
However, in EmitStoreThroughExtVectorComponentLValue we are still operating on
a vector of size 3, so we should only access {2} and {1}. We do this by checking
the last element to be accessed, and ignore it if it is out-of-bounds.

EmitLoadOfExtVectorElementLValue doesn't have a similar problem, because it does
a direct shufflevector with undef, so an out-of-bounds access just gives an undef
value.

Patch by Anastasia Stulova!

------------------------------------------------------------------------

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

11 years agoMerging r195268:
Bill Wendling [Thu, 21 Nov 2013 23:31:45 +0000 (23:31 +0000)]
Merging r195268:
------------------------------------------------------------------------
r195268 | jholewinski | 2013-11-20 12:35:34 -0800 (Wed, 20 Nov 2013) | 3 lines

[NVPTX] Update ABI handling

For PTX, we want the target to handle struct returns directly.
------------------------------------------------------------------------

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

11 years agoMerging r195283:
Bill Wendling [Thu, 21 Nov 2013 05:19:27 +0000 (05:19 +0000)]
Merging r195283:
------------------------------------------------------------------------
r195283 | hans | 2013-11-20 16:15:56 -0800 (Wed, 20 Nov 2013) | 10 lines

[-cxx-abi microsoft] Emit linkonce_odr definitions for declarations of static data members with inline initializers (PR17689)

This makes Clang emit a linkonce_odr definition for 'val' in the code below,
to be compatible with MSVC-compiled code:

  struct Foo {
    static const int val = 1;
  };

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

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

11 years agoUpdate to the 3.4 release numbers.
Bill Wendling [Wed, 20 Nov 2013 10:00:30 +0000 (10:00 +0000)]
Update to the 3.4 release numbers.

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

11 years agoMerging r195174:
Bill Wendling [Wed, 20 Nov 2013 06:47:04 +0000 (06:47 +0000)]
Merging r195174:
------------------------------------------------------------------------
r195174 | zaks | 2013-11-19 16:11:42 -0800 (Tue, 19 Nov 2013) | 1 line

[analyzer] Fix an infinite recursion in region invalidation by adding block count to the BlockDataRegion.
------------------------------------------------------------------------

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

11 years agoMerging r195168:
Bill Wendling [Wed, 20 Nov 2013 06:46:42 +0000 (06:46 +0000)]
Merging r195168:
------------------------------------------------------------------------
r195168 | rnk | 2013-11-19 15:23:00 -0800 (Tue, 19 Nov 2013) | 17 lines

Add a mangler entry point for TBAA rather than using RTTI directly

Summary:
RTTI is not yet implemented for the Microsoft C++ ABI and isn't expected
soon.  We could easily add the mangling, but the error is what prevents
us from silently miscompiling code that expects RTTI.

Instead, add a new mangleTypeName entry point that simply forwards to
mangleName or mangleType to produce a string that isn't part of the ABI.
Itanium can continue to use RTTI names to avoid unecessary test
breakage.

This also seems like the right design.  The fact that TBAA names happen
to be RTTI names is now an implementation detail of the mangler, rather
than part of TBAA.

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

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

11 years agoMerging r195154:
Bill Wendling [Wed, 20 Nov 2013 06:45:19 +0000 (06:45 +0000)]
Merging r195154:
------------------------------------------------------------------------
r195154 | rafael | 2013-11-19 13:07:04 -0800 (Tue, 19 Nov 2013) | 15 lines

Further fixes when thiscall is the default for methods.

The previous patches tried to deduce the correct function type. I now realize
this is not possible in general. Consider

class foo {
    template <typename T> static void bar(T v);
};
extern template void foo::bar(const void *);

We will only know that bar is static after a lookup, so we have to handle this
in the template instantiation code.

This patch reverts my previous two changes (but not the tests) and instead
handles the issue in DeduceTemplateArguments.
------------------------------------------------------------------------

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

11 years agoMerging r195149:
Bill Wendling [Wed, 20 Nov 2013 06:44:29 +0000 (06:44 +0000)]
Merging r195149:
------------------------------------------------------------------------
r195149 | grosbach | 2013-11-19 12:18:39 -0800 (Tue, 19 Nov 2013) | 6 lines

ARM: embedded v7 'darwin' doesn't get min-version defines.

Make sure armv7 doesn't get the iOS deployment version definitions when
it's being used for non-iOS.

rdar://15497681
------------------------------------------------------------------------

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

11 years agoMerging r195146:
Bill Wendling [Wed, 20 Nov 2013 06:43:12 +0000 (06:43 +0000)]
Merging r195146:
------------------------------------------------------------------------
r195146 | fjahanian | 2013-11-19 11:26:30 -0800 (Tue, 19 Nov 2013) | 4 lines

ObjectiveC ARC. Removes a bogus warning when a weak
property is redeclared as 'weak' in class extension.
// rdar://15465916

------------------------------------------------------------------------

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

11 years agoMerging r195158:
Bill Wendling [Tue, 19 Nov 2013 23:16:16 +0000 (23:16 +0000)]
Merging r195158:
------------------------------------------------------------------------
r195158 | whunt | 2013-11-19 14:11:09 -0800 (Tue, 19 Nov 2013) | 9 lines

Microsoft Record Layout: zero sized base after base with vbtbl fix

Microsoft adds an extra byte of padding before laying out zero sized
non-virtual bases if the non-virtual base before it contains a vbptr.
This patch adds the same behavior to clang.

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

------------------------------------------------------------------------

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

11 years agoMerging r195163:
Bill Wendling [Tue, 19 Nov 2013 22:56:43 +0000 (22:56 +0000)]
Merging r195163:
------------------------------------------------------------------------
r195163 | rsmith | 2013-11-19 14:47:36 -0800 (Tue, 19 Nov 2013) | 5 lines

PR9547: If we're parsing a simple-declaration that contains a tag definition,
and we see an ill-formed declarator that would probably be well-formed if the
tag definition were just missing a semicolon, use that as the diagnostic
instead of producing some other mysterious error.

------------------------------------------------------------------------

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

11 years agoMerging r195136:
Bill Wendling [Tue, 19 Nov 2013 18:43:51 +0000 (18:43 +0000)]
Merging r195136:
------------------------------------------------------------------------

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

11 years agoMerging r195135:
Bill Wendling [Tue, 19 Nov 2013 18:43:09 +0000 (18:43 +0000)]
Merging r195135:
------------------------------------------------------------------------
r195135 | fjahanian | 2013-11-19 09:42:25 -0800 (Tue, 19 Nov 2013) | 3 lines

bjectiveC. Use a uniform diagnostic for
'objc_bridge' attribute. // rdar://15454846.

------------------------------------------------------------------------

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

11 years agoMerging r195128:
Bill Wendling [Tue, 19 Nov 2013 18:42:00 +0000 (18:42 +0000)]
Merging r195128:
------------------------------------------------------------------------
r195128 | alexfh | 2013-11-19 06:30:44 -0800 (Tue, 19 Nov 2013) | 11 lines

Refactoring: replaced (*(I + x)) with I[x].

Summary: Pure refactoring, no semantic changes intended.

Reviewers: klimek

Reviewed By: klimek

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

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

11 years agoMerging r195126:
Bill Wendling [Tue, 19 Nov 2013 18:41:11 +0000 (18:41 +0000)]
Merging r195126:
------------------------------------------------------------------------
r195126 | joerg | 2013-11-19 05:38:38 -0800 (Tue, 19 Nov 2013) | 2 lines

Revert r194540, it breaks various C++ programs.

------------------------------------------------------------------------

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

11 years agoCreating release_34 branch
Bill Wendling [Tue, 19 Nov 2013 02:57:13 +0000 (02:57 +0000)]
Creating release_34 branch

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

11 years agoDisable this check temporarily.
Bill Wendling [Tue, 19 Nov 2013 02:25:28 +0000 (02:25 +0000)]
Disable this check temporarily.

This is failing for me. When I run the command on my own, I get this:

Error reading /usr/local/google/home/morbo/llvm/llvm.obj/tools/clang/test/Format/Output/.clang-format: Invalid argument
void f() {
  int* i;
  int j;
}

The formatting is like this because I have the Google format version in my
~/.clang-format file. This test should be made independent of that.

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

11 years agoImplement AArch64 neon instructions class SIMD lsone and SIMD lone-post.
Hao Liu [Tue, 19 Nov 2013 02:17:31 +0000 (02:17 +0000)]
Implement AArch64 neon instructions class SIMD lsone and SIMD lone-post.

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

11 years agoImplement AArch64 SISD intrinsics for vget_high and vget_low.
Jiangning Liu [Tue, 19 Nov 2013 01:46:34 +0000 (01:46 +0000)]
Implement AArch64 SISD intrinsics for vget_high and vget_low.

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

11 years agoObjectiveC objc_bridge. Minor refactoring.
Fariborz Jahanian [Tue, 19 Nov 2013 01:38:23 +0000 (01:38 +0000)]
ObjectiveC objc_bridge. Minor refactoring.
// rdar://15454846

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

11 years agoAdd predicate for AArch64 crypto instructions.
Jiangning Liu [Tue, 19 Nov 2013 01:38:19 +0000 (01:38 +0000)]
Add predicate for AArch64 crypto instructions.

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

11 years agoClean up predefined macros for AArch64 to follow ACLE 2.0.
Jiangning Liu [Tue, 19 Nov 2013 01:33:17 +0000 (01:33 +0000)]
Clean up predefined macros for AArch64 to follow ACLE 2.0.

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

11 years agoObjectiveC 'objc_bridging'. Assorment of improvements
Fariborz Jahanian [Tue, 19 Nov 2013 01:23:07 +0000 (01:23 +0000)]
ObjectiveC 'objc_bridging'. Assorment of improvements
per Doug/Jordan comments. // rdar://15454846.

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

11 years agoObjectiveC ARC. Adopt objc_bridge attribute
Fariborz Jahanian [Tue, 19 Nov 2013 00:09:48 +0000 (00:09 +0000)]
ObjectiveC ARC. Adopt objc_bridge attribute
on struct/union/class instead of typedef of
such types. // rdar://15454846

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

11 years agoDebugInfo: Update caller based on DIType's MDNode* ctor becoming explicit in r195055.
David Blaikie [Mon, 18 Nov 2013 23:38:26 +0000 (23:38 +0000)]
DebugInfo: Update caller based on DIType's MDNode* ctor becoming explicit in r195055.

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

11 years agoChange the clang driver with the use of -no-integrated-as for darwin to use
Kevin Enderby [Mon, 18 Nov 2013 23:30:29 +0000 (23:30 +0000)]
Change the clang driver with the use of -no-integrated-as for darwin to use
the -Q flag to the as(1) assembler driver.

We will soon be switching the darwin as(1) assembler driver to call clang(1)
and use the intergated assembler by default.  To do this and still support
clang(1)'s -no-integrated-as flag, when clang(1) runs the as(1) assembler
driver and -no-integrated-as is used it needs to pass the -Q flag to as(1)
so it uses its GNU based assembler, and not turn around and call clag(1)'s
integrated assembler.

rdar://15495921

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

11 years agoThe attached patch is a follow up from my previous one. The existing
Rafael Espindola [Mon, 18 Nov 2013 22:40:04 +0000 (22:40 +0000)]
The attached patch is a follow up from my previous one. The existing
logic was not handling typedefs as free functions. This was not
causing problems with the existing tests, but does with the microsoft
abi where they have to get a different calling convention.

I will try to refactor this into a method on Declarator in a second.

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

11 years agoRemove period at end of "optimization level is unsupported" diagnostic
Hans Wennborg [Mon, 18 Nov 2013 22:10:17 +0000 (22:10 +0000)]
Remove period at end of "optimization level is unsupported" diagnostic

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

11 years agoMake test/Driver/clang_f_opts.c not write to the test dir
Hans Wennborg [Mon, 18 Nov 2013 21:58:33 +0000 (21:58 +0000)]
Make test/Driver/clang_f_opts.c not write to the test dir

After r195009, the test would write a .o file to the test dir. Send that to
/dev/null instead. Also fix the typo in test/Frontend/invalid-o-level.c.

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

11 years agoThe code using the StmtPrinterHelper object failed to account for a null object in...
Aaron Ballman [Mon, 18 Nov 2013 20:11:50 +0000 (20:11 +0000)]
The code using the StmtPrinterHelper object failed to account for a null object in many cases, which could have led to crashes were it ever to be null. Now passing the object by reference instead of by pointer because it is never null in practice. No functional changes intended.

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

11 years agoUse the default method CC in GetFullTypeForDeclarator.
Rafael Espindola [Mon, 18 Nov 2013 20:05:33 +0000 (20:05 +0000)]
Use the default method CC in GetFullTypeForDeclarator.

Before this patch explicit template instatiations of member function templates
were failing with the microsoft abi and 32 bits. This was happening because
the expected and computed function types had different calling conventions.

This patch fixes it by considering the default calling convention in
GetFullTypeForDeclarator.

This fixes pr17973.

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

11 years agoRemove clang man page reference to --analyze, and point people to the analyzer website.
Ted Kremenek [Mon, 18 Nov 2013 18:53:37 +0000 (18:53 +0000)]
Remove clang man page reference to --analyze, and point people to the analyzer website.

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

11 years agoAdding an assert to help catch possible buffer underruns.
Aaron Ballman [Mon, 18 Nov 2013 18:29:00 +0000 (18:29 +0000)]
Adding an assert to help catch possible buffer underruns.

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

11 years agoMake helper function static.
Benjamin Kramer [Mon, 18 Nov 2013 16:50:24 +0000 (16:50 +0000)]
Make helper function static.

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

11 years agoAdd partial support for the hasDeclaration() matcher in the dynamic layer.
Samuel Benzaquen [Mon, 18 Nov 2013 14:53:42 +0000 (14:53 +0000)]
Add partial support for the hasDeclaration() matcher in the dynamic layer.

Summary:
Add partial support for the hasDeclaration() matcher in the dynamic layer.
This matcher has some special logic to allow any type that has a getDecl() method.  We do not support this right now.

Reviewers: klimek

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

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

11 years agoUsing an invalid -O falls back on -O3 instead of an error
Sylvestre Ledru [Mon, 18 Nov 2013 13:23:07 +0000 (13:23 +0000)]
Using an invalid -O falls back on -O3 instead of an error

Summary:
Currently with clang:
$ clang -O20 foo.c
error: invalid value '20' in '-O20'

With the patch:
$ clang -O20 foo.c
warning: optimization level '-O20' is unsupported; using '-O3' instead.
1 warning generated.

This matches the gcc behavior (with a warning added)

Pass all tests:
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
Testing Time: 94.14s
  Expected Passes    : 6721
  Expected Failures  : 20
  Unsupported Tests  : 17

(which was not the case of http://llvm-reviews.chandlerc.com/D2125)

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

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

11 years agoclang/test/CXX/drs/dr2xx.cpp: Suppress this for targeting LLP64 due to __SIZE_TYPE__.
NAKAMURA Takumi [Mon, 18 Nov 2013 12:58:38 +0000 (12:58 +0000)]
clang/test/CXX/drs/dr2xx.cpp: Suppress this for targeting LLP64 due to __SIZE_TYPE__.

  Line 559: 'long long' is a C++11 extension
  Line 566: 'long long' is a C++11 extension
  Line 674: 'long long' is a C++11 extension

See also PR13819.

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

11 years agoclang/Parse/Parser.h: Fix annotations properly in SkipUntilFlags. [-Wdocumentation]
NAKAMURA Takumi [Mon, 18 Nov 2013 10:38:28 +0000 (10:38 +0000)]
clang/Parse/Parser.h: Fix annotations properly in SkipUntilFlags. [-Wdocumentation]

Use ///< after member.

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

11 years agoReplaced bool parameters in SkipUntil function with single bit-based parameter.
Alexey Bataev [Mon, 18 Nov 2013 08:17:37 +0000 (08:17 +0000)]
Replaced bool parameters in SkipUntil function with single bit-based parameter.

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

11 years agoclang/test/Tooling/multi-jobs.cpp: Mark this as XFAIL:msvc for now. It has been faili...
NAKAMURA Takumi [Mon, 18 Nov 2013 06:57:47 +0000 (06:57 +0000)]
clang/test/Tooling/multi-jobs.cpp: Mark this as XFAIL:msvc for now. It has been failing since r194968.

MSVC targeted drivers (*-win32) are incapable of invoking external assembler.

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

11 years agoImplement the newly added AArch64 ACLE functions for ld1/st1 with 2/3/4 vectors.
Hao Liu [Mon, 18 Nov 2013 06:33:43 +0000 (06:33 +0000)]
Implement the newly added AArch64 ACLE functions for ld1/st1 with 2/3/4 vectors.
The functions are like: vst1_s8_x2 ...

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

11 years agoTests for core issues 251-270.
Richard Smith [Mon, 18 Nov 2013 05:24:03 +0000 (05:24 +0000)]
Tests for core issues 251-270.

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

11 years agoRemove method that always returns true.
Rafael Espindola [Sun, 17 Nov 2013 22:42:24 +0000 (22:42 +0000)]
Remove method that always returns true.

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

11 years agoRemove two unused #ifdefs.
Rafael Espindola [Sun, 17 Nov 2013 22:36:07 +0000 (22:36 +0000)]
Remove two unused #ifdefs.

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

11 years agoRewriteBuffer::write(): Add a doc comment about non-portable use
Alp Toker [Sun, 17 Nov 2013 18:13:43 +0000 (18:13 +0000)]
RewriteBuffer::write(): Add a doc comment about non-portable use

The function isn't strictly at fault but there are callers using it
incorrectly, causing crashes with in-place edits of 64KB or larger files on
Windows.

See PR17960 for details.

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

11 years agoTooling/CompilationDatabase.cpp: Use \return here instead of \param[out]. [-Wdocument...
NAKAMURA Takumi [Sun, 17 Nov 2013 18:05:49 +0000 (18:05 +0000)]
Tooling/CompilationDatabase.cpp: Use \return here instead of \param[out]. [-Wdocumentation]

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

11 years agoRemove a bad string compare from r194968
Alp Toker [Sun, 17 Nov 2013 16:49:24 +0000 (16:49 +0000)]
Remove a bad string compare from r194968

  lib/Tooling/CompilationDatabase.cpp:275:34: warning: result of comparison against a string literal is unspecified (use strncmp instead) [-Wstring-compare]

This assert() should probably be fixed and added back at some point.

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

11 years agoRelax some preconditions for using FixedCompilationDatabase.
Edwin Vane [Sun, 17 Nov 2013 16:08:04 +0000 (16:08 +0000)]
Relax some preconditions for using FixedCompilationDatabase.

FixedCompilationDatabase (FCD) requires that the arguments it consumes after
'--' must not include positional parameters or the argv[0] of the tool. This
patch relaxes those restrictions.

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

11 years agoAdd -freroll-loops to enable loop rerolling
Hal Finkel [Sun, 17 Nov 2013 16:03:29 +0000 (16:03 +0000)]
Add -freroll-loops to enable loop rerolling

This adds -freroll-loops (and -fno-reroll-loops in the usual way) to enable
loop rerolling as part of the optimization pass manager. This transformation
can enable vectorization, reduce code size (or both).

Briefly, loop rerolling can transform a loop like this:

for (int i = 0; i < 3200; i += 5) {
  a[i]     += alpha * b[i];
  a[i + 1] += alpha * b[i + 1];
  a[i + 2] += alpha * b[i + 2];
  a[i + 3] += alpha * b[i + 3];
  a[i + 4] += alpha * b[i + 4];
}

into this:

for (int i = 0; i < 3200; ++i) {
  a[i] += alpha * b[i];
}

Loop rerolling is currently disabled by default at all optimization levels.

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

11 years agoFixes a typo and changes references to the function clang_displayDiagnostic (which...
Sylvestre Ledru [Sun, 17 Nov 2013 09:46:45 +0000 (09:46 +0000)]
Fixes a typo and changes references to the function clang_displayDiagnostic (which was removed in r96823) to clang_formatDiagnostics.

Patch by David Wiberg

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

11 years agoImplement vreinterpret ACLE functions in Clang.
Hao Liu [Sun, 17 Nov 2013 09:32:59 +0000 (09:32 +0000)]
Implement vreinterpret ACLE functions in Clang.

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

11 years ago[analyzer] Better modeling of memcpy by the CStringChecker (PR16731).
Anton Yartsev [Sun, 17 Nov 2013 09:18:48 +0000 (09:18 +0000)]
[analyzer] Better modeling of memcpy by the CStringChecker (PR16731).

New rules of invalidation/escape of the source buffer of memcpy: the source buffer contents is invalidated and escape while the source buffer region itself is neither invalidated, nor escape.
In the current modeling of memcpy the information about allocation state of regions, accessible through the source buffer, is not copied to the destination buffer and we can not track the allocation state of those regions anymore. So we invalidate/escape the source buffer indirect regions in anticipation of their being invalidated for real later. This eliminates false-positive leaks reported by the unix.Malloc and alpha.cplusplus.NewDeleteLeaks checkers for the cases like

char *f() {
  void *x = malloc(47);
  char *a;
  memcpy(&a, &x, sizeof a);
  return a;
}

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