native_client/pnacl-clang.git
6 weeks agoCherry-pick Clang upstream r199830 - Handle va_arg on struct types for the le32 targe... master
JF Bastien [Thu, 6 Mar 2014 20:42:01 +0000 (12:42 -0800)]
Cherry-pick Clang upstream r199830 - Handle va_arg on struct types for the le32 target (PNaCl and Emscripten)

Author: mseaborn
Date: Wed Jan 22 14:11:01 2014
New Revision: 199830

URL: http://llvm.org/viewvc/llvm-project?rev=199830&view=rev
Log:
Handle va_arg on struct types for the le32 target (PNaCl and Emscripten)

PNaCl and Emscripten can both handle va_arg IR instructions with
struct type.

Also add a test to cover generating a va_arg IR instruction from
va_arg in C on le32 (as already handled by VisitVAArgExpr() in
CGExprScalar.cpp), which was not covered by a test before.

(This fixes https://code.google.com/p/nativeclient/issues/detail?id=2381)

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

R=mseaborn@chromium.org, dschuff@chromium.org, jvoung@chromium.org
TEST= ninja clang-check
BUG= https://code.google.com/p/nativeclient/issues/detail?id=2381

Review URL: https://codereview.chromium.org/183973037

7 weeks agoMerge LLVM/Clang 3.4 into PNaCl's branch mseaborn/merge-34-squashed
Mark Seaborn [Sat, 1 Mar 2014 18:39:31 +0000 (10:39 -0800)]
Merge LLVM/Clang 3.4 into PNaCl's branch

This fixes up various merge conflicts.

The PNaCl branch of Clang contained various changes cherry-picked from
between 3.3 and 3.4, so these no longer appear as localmods after the
merge.  This includes changes to:

 * atomics
 * C++ method pointers for le32
 * use of pow() intrinsic

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3757
TEST=PNaCl toolchain trybots

Review URL: https://groups.google.com/forum/#!topic/native-client-reviews/OD-h-xSTCu4

7 weeks agoPrep for merging 3.4: Undo changes from 3.3 branch
Mark Seaborn [Wed, 15 Jan 2014 05:36:45 +0000 (21:36 -0800)]
Prep for merging 3.4: Undo changes from 3.3 branch

In order to cleanly merge LLVM 3.4, we must first undo the various
changes we've merged from LLVM's 3.3 branch, for two reasons:

 * To avoid merge conflicts where the same (or slightly different)
   changes appear in both LLVM's 3.3 branch and LLVM trunk.

 * To remove changes that were applied in the 3.3 branch and not on
   trunk, such as updating config scripts to refer to "3.3".

I made this change by doing:

git diff $(git merge-base upstream/master upstream/release_33)..$(git merge-base upstream/release_33 origin/master) > tmp_patch
git apply --index --reverse tmp_patch

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3757
TEST=none

Review URL: https://codereview.chromium.org/184973004/

2 months agoFix pathnames to run LLVM regressions with msys make
Derek Schuff [Fri, 7 Feb 2014 21:31:11 +0000 (13:31 -0800)]
Fix pathnames to run LLVM regressions with msys make

This mirrors LLVM commit 814a483, which turns msys pathnames from make
rules into Windows pathnames that Python can use.
R=stichnot@chromium.org
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3719

Review URL: https://codereview.chromium.org/129793011

2 months agoCherrypick clang r199335 to make i686-nacl longlong alignment match nacl-gcc.
Jan Voung [Thu, 6 Feb 2014 22:17:31 +0000 (14:17 -0800)]
Cherrypick clang r199335 to make i686-nacl longlong alignment match nacl-gcc.

https://llvm.org/viewvc/llvm-project?view=revision&revision=199335

Switching the IRT shim build to use pnacl with
--target=(nonle32-...) instead of nacl-gcc, so I wanted
to make sure known calling convention differences were
accounted for.

So far this hasn't shown up in PPAPI (at least the browser
tests still pass on x86-32 w/ a switchover). There's
supposed to be an IDL generator check that no new
struct types are passed by value... but just in case?

Otherwise, this patch landed after 3.4 so we'd need
more than one pulldown to get it.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3650
R=dschuff@chromium.org

Review URL: https://codereview.chromium.org/135123014

3 months agoRevert unused profiling-related localmods
Mark Seaborn [Tue, 21 Jan 2014 19:10:51 +0000 (11:10 -0800)]
Revert unused profiling-related localmods

This reverts two changes:

 * "Add a -finstrument-functions-size=n option to control basic block"
   7b390888fd9f3886d966ab072c328f4fbd9c64b4
 * "Change __cyg_profile_func_enter/exit to __pnacl_profile... and change the signature."
   548960c21c590dcd4919a1bba000e989c140c8ef

These cause various conflicts when merging LLVM 3.4.  The
functionality from these changes isn't currently used and isn't likely
to be used soon.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3757
TEST=build
R=bradnelson@google.com, dschuff@chromium.org

Review URL: https://codereview.chromium.org/132963008

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months agoFix the problem that the arm_neon.h can't be used in a cpp file. Also fix a minor...
Hao Liu [Sun, 17 Nov 2013 09:14:46 +0000 (09:14 +0000)]
Fix the problem that the arm_neon.h can't be used in a cpp file. Also fix a minor bug with poly64 name mangling.

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

5 months agoTests for core issue 241-250.
Richard Smith [Sun, 17 Nov 2013 06:39:43 +0000 (06:39 +0000)]
Tests for core issue 241-250.

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

5 months agoTests for core issues 224-240.
Richard Smith [Sun, 17 Nov 2013 02:50:30 +0000 (02:50 +0000)]
Tests for core issues 224-240.

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

5 months agoObjectiveC ARC. More validation of toll-free bridging of
Fariborz Jahanian [Sat, 16 Nov 2013 23:22:37 +0000 (23:22 +0000)]
ObjectiveC ARC. More validation of toll-free bridging of
CF objects with objc_bridge'ing annotaiton.
// rdar://15454846

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

5 months agoObjectiveC ARC. Validate toll free bridge casting
Fariborz Jahanian [Sat, 16 Nov 2013 19:16:32 +0000 (19:16 +0000)]
ObjectiveC ARC. Validate toll free bridge casting
of ObjectiveC objects to CF types when CF type
has the objc_bridge attribute.

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

5 months agoRemove unused but set variable.
Benjamin Kramer [Sat, 16 Nov 2013 11:47:52 +0000 (11:47 +0000)]
Remove unused but set variable.

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

5 months agoMove remaining %clang_cc1 tests out of test/Driver
Alp Toker [Sat, 16 Nov 2013 06:20:17 +0000 (06:20 +0000)]
Move remaining %clang_cc1 tests out of test/Driver

clang -cc1 skips the driver so it never made sense to include these with the
Driver tests.

Basic type tests and flag tests generally both go in Frontend.

Now that the final -cc1 tests have been moved out of test/Driver, add a
local substitution to enforce and detect future mistakes.

These miscategorized tests were probably the source of confusion in r194817.

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

5 months agoIf a replaceable global operator new/delete is marked inline, don't warn if
Richard Smith [Sat, 16 Nov 2013 01:57:09 +0000 (01:57 +0000)]
If a replaceable global operator new/delete is marked inline, don't warn if
it's also __attribute__((used)), since that undoes the problematic part of
'inline'.

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

5 months agoObjetiveC ARC. Start diagnosing invalid toll free bridging.
Fariborz Jahanian [Sat, 16 Nov 2013 01:45:25 +0000 (01:45 +0000)]
ObjetiveC ARC. Start diagnosing invalid toll free bridging.
// rdar://15454846.

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

5 months agoX86: Make specifying avx2 simpler on Darwin with '-arch'
Jim Grosbach [Sat, 16 Nov 2013 00:53:35 +0000 (00:53 +0000)]
X86: Make specifying avx2 simpler on Darwin with '-arch'

Teach the '-arch' command line option to enable the compiler-friendly
features of core-avx2 CPUs on Darwin. Pass the information along in the
target triple like Darwin+ARM does.

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

5 months agoDowngrade the Error on an 'inline' operator new or delete to an ExtWarn. Some
Richard Smith [Sat, 16 Nov 2013 00:47:38 +0000 (00:47 +0000)]
Downgrade the Error on an 'inline' operator new or delete to an ExtWarn. Some
projects are relying on such (questionable) practices, so we should give them
a way to opt out of this diagnostic.

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

5 months agoConsumed analysis: track state of temporary objects.
DeLesley Hutchins [Sat, 16 Nov 2013 00:22:43 +0000 (00:22 +0000)]
Consumed analysis: track state of temporary objects.
Earlier versions discarded the state too soon, and did not track state changes,
e.g. when passing a temporary to a move constructor.  Patch by
chris.wailes@gmail.com; review and minor fixes by delesley.

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

5 months agoCorrected comment about MS prgama warning.
John Thompson [Sat, 16 Nov 2013 00:16:03 +0000 (00:16 +0000)]
Corrected comment about MS prgama warning.

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

5 months agoImplemented aarch64 Neon scalar vmulx_lane intrinsics
Ana Pazos [Fri, 15 Nov 2013 23:33:31 +0000 (23:33 +0000)]
Implemented aarch64 Neon scalar vmulx_lane intrinsics
Implemented aarch64 Neon scalar vfma_lane intrinsics
Implemented aarch64 Neon scalar vfms_lane intrinsics

Implemented legacy vmul_n_f64, vmul_lane_f64, vmul_laneq_f64
intrinsics (v1f64 parameter type) using Neon scalar instructions.

Implemented legacy vfma_lane_f64, vfms_lane_f64,
vfma_laneq_f64, vfms_laneq_f64 intrinsics (v1f64 parameter type)
using Neon scalar instructions.

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

5 months agoUpdated comment - testing commit rights
Ana Pazos [Fri, 15 Nov 2013 23:25:10 +0000 (23:25 +0000)]
Updated comment - testing commit rights

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

5 months agoObjectiveC ARC. Only briding of pointer to struct CF object is allowed.
Fariborz Jahanian [Fri, 15 Nov 2013 23:14:45 +0000 (23:14 +0000)]
ObjectiveC ARC. Only briding of pointer to struct CF object is allowed.
Improve on wording on illegal objc_bridge argumment.
// rdar://15454846

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

5 months agoDarwin(ish): enable embedded compiler-rt builds on Darwin.
Tim Northover [Fri, 15 Nov 2013 23:12:44 +0000 (23:12 +0000)]
Darwin(ish): enable embedded compiler-rt builds on Darwin.

This builds extra versions of compiler-rt targeting various unhosted targets.
Only built on Darwin since even though they're not iOS or OSX, they share some
quirks.

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

5 months agoPR17949: Fix crash if someone puts a namespace inside a class template.
Richard Smith [Fri, 15 Nov 2013 23:00:02 +0000 (23:00 +0000)]
PR17949: Fix crash if someone puts a namespace inside a class template.

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

5 months agoPR8455: Handle an attribute between a goto label and a variable declaration per
Richard Smith [Fri, 15 Nov 2013 22:45:29 +0000 (22:45 +0000)]
PR8455: Handle an attribute between a goto label and a variable declaration per
the GNU documentation: the attribute only appertains to the label if it is
followed by a semicolon. Based on a patch by Aaron Ballman!

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

5 months agoObjectiveC ARG. A positive test of my previous patch.
Fariborz Jahanian [Fri, 15 Nov 2013 22:33:12 +0000 (22:33 +0000)]
ObjectiveC ARG. A positive test of my previous patch.
// rdar://15454846

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

5 months agoFix typo in CGRecordLayoutBuilder.cpp: s/Field/Fields/ in comment
Hans Wennborg [Fri, 15 Nov 2013 22:31:11 +0000 (22:31 +0000)]
Fix typo in CGRecordLayoutBuilder.cpp: s/Field/Fields/ in comment

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

5 months agoObjectiveC ARC. Lookup type associated with objc_bridage at
Fariborz Jahanian [Fri, 15 Nov 2013 22:18:17 +0000 (22:18 +0000)]
ObjectiveC ARC. Lookup type associated with objc_bridage at
the point of CF object type-cast and issue diagnostic
if it is not a valid ObjectiveC class. // rdar//15454846.
This is wip.

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

5 months agoThese ACLE tests no longer need to cast the return value.
Chad Rosier [Fri, 15 Nov 2013 21:28:24 +0000 (21:28 +0000)]
These ACLE tests no longer need to cast the return value.

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

5 months agoDiagnose C++11 attributes before fp_contract pragmas.
Richard Smith [Fri, 15 Nov 2013 21:10:54 +0000 (21:10 +0000)]
Diagnose C++11 attributes before fp_contract pragmas.

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

5 months agoFix bogus diagnostic wording. There's no such thing as a compound expression.
Richard Smith [Fri, 15 Nov 2013 21:08:45 +0000 (21:08 +0000)]
Fix bogus diagnostic wording. There's no such thing as a compound expression.

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

5 months agoRevert "Using an invalid -O falls back on -O3 instead of an error"
Alp Toker [Fri, 15 Nov 2013 20:40:58 +0000 (20:40 +0000)]
Revert "Using an invalid -O falls back on -O3 instead of an error"

Trying to fix test failures since earlier today.

One of the tests added in this commit is outputting test/Driver/clang_f_opts.s
which the builders that build in-tree (eg. clang-native-arm-cortex-a9) are
trying to run as a test case, causing failures.

clang_f_opts.c:
  If -### doesn't emit the warning then this test probably shouldn't be in
  here in the first place. Frontend maybe?

invalid-o-level.c:
  Running %clang_cc1 in the Driver tests doesn't make sense because -cc1
  bypasses the driver. (I'm not reverting the commit that introduced this but
  please fix instead of keeping it this way.)

Reverting to fix the build failures and also so that the tests can be thought
out more thoroughly.

This reverts commit r194817.

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

5 months agoclang-cl: Make the driver parse all(?) msvc flags
Hans Wennborg [Fri, 15 Nov 2013 18:29:58 +0000 (18:29 +0000)]
clang-cl: Make the driver parse all(?) msvc flags

Even if we don't support a flag, we should be able to parse it
to provide a better error message than the current default
"error: no such file or directory: '/foo'" (which we should probably
also tweak, btw).

This also tries to clean up the test file a bit.

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

5 months agoRemove an unused local from r194827
Alp Toker [Fri, 15 Nov 2013 18:09:28 +0000 (18:09 +0000)]
Remove an unused local from r194827

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

5 months agoDarwin: Look for libc++ headers in include/, rather than lib/
Justin Bogner [Fri, 15 Nov 2013 18:07:59 +0000 (18:07 +0000)]
Darwin: Look for libc++ headers in include/, rather than lib/

Up until now we were expecting that when libc++ is installed alongside
clang the headers would be in lib/, which was true if the configure
build was used and false if the cmake build was.

We've now corrected the configure build to install in include/, and
with this change we'll be able to find the correct headers with both
build systems.

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

5 months agolibc++: Install headers in include/, rather than lib/
Justin Bogner [Fri, 15 Nov 2013 18:07:57 +0000 (18:07 +0000)]
libc++: Install headers in include/, rather than lib/

When using the configure build system, the libc++ headers were being
installed in lib/, whereas cmake installs them in include/. Since
include/ makes more sense for headers, we'll make both systems install
headers there.

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

5 months agoObjectiveC. Fixes a bogus warning of unused backing
Fariborz Jahanian [Fri, 15 Nov 2013 17:48:00 +0000 (17:48 +0000)]
ObjectiveC. Fixes a bogus warning of unused backing
ivar when property belongs to a super class and
currnt class happens to have a method with same name as
property. // rdar//15473432

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

5 months agoUpdate contact information.
Chad Rosier [Fri, 15 Nov 2013 17:35:53 +0000 (17:35 +0000)]
Update contact information.

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

5 months ago[-cxx-abi microsoft] Emit thunks for pointers to virtual member functions
Hans Wennborg [Fri, 15 Nov 2013 17:24:45 +0000 (17:24 +0000)]
[-cxx-abi microsoft] Emit thunks for pointers to virtual member functions

Instead of storing the vtable offset directly in the function pointer and
doing a branch to check for virtualness at each call site, the MS ABI
generates a thunk for calling the function at a specific vtable offset,
and puts that in the function pointer.

This patch adds support for emitting such thunks. However, it doesn't support
pointers to virtual member functions that are variadic, have an incomplete
aggregate return type or parameter, or are overriding a function in a virtual
base class.

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

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

5 months ago[ASan] Fix darwin-sanitizer-ld.c for iossim, which seems to use -lc++ instead of...
Alexander Potapenko [Fri, 15 Nov 2013 16:57:57 +0000 (16:57 +0000)]
[ASan] Fix darwin-sanitizer-ld.c for iossim, which seems to use -lc++ instead of -lstdc++.

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

5 months ago[ASan] Link with libclang_rt.asan_iossim_dynamic.dylib when targeting the iOS simulator.
Alexander Potapenko [Fri, 15 Nov 2013 16:07:44 +0000 (16:07 +0000)]
[ASan] Link with libclang_rt.asan_iossim_dynamic.dylib when targeting the iOS simulator.
Add a test.

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

5 months agoUsing an invalid -O falls back on -O3 instead of an error
Sylvestre Ledru [Fri, 15 Nov 2013 15:39:14 +0000 (15:39 +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)

Reviewers: chandlerc, rafael, rengolin, hfinkel

Reviewed By: rengolin

CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2152

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

5 months ago[ASan] If the iOS Simulator SDK is available, build the ASan iossim runtime using...
Alexander Potapenko [Fri, 15 Nov 2013 14:56:31 +0000 (14:56 +0000)]
[ASan] If the iOS Simulator SDK is available, build the ASan iossim runtime using configure+make.

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

5 months agoIgnore test Inputs globally and remove redundant lit.local.cfg files
Alp Toker [Fri, 15 Nov 2013 13:37:49 +0000 (13:37 +0000)]
Ignore test Inputs globally and remove redundant lit.local.cfg files

By adding a default config.excludes pattern we can avoid individual
suppressions in subdirectories.

This matches LLVM's lit.cfg which also excludes a few other common non-test
filenames for consistency.

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

5 months agoTests for core issue 216-223.
Richard Smith [Fri, 15 Nov 2013 08:55:01 +0000 (08:55 +0000)]
Tests for core issue 216-223.

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

5 months agoWhen we hit a #include directive that maps to a module import, emit a token
Richard Smith [Fri, 15 Nov 2013 04:24:58 +0000 (04:24 +0000)]
When we hit a #include directive that maps to a module import, emit a token
representing the module import rather than making the module immediately
visible. This serves two goals:
 * It avoids making declarations in the module visible prematurely, if we
   walk past the #include during a tentative parse, for instance, and
 * It gives a diagnostic (although, admittedly, not a very nice one) if
   a header with a corresponding module is included anywhere other than
   at the top level.

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

5 months agoPR17533 and duplicates: don't compute the return type of an overloaded operator
Richard Smith [Fri, 15 Nov 2013 02:58:23 +0000 (02:58 +0000)]
PR17533 and duplicates: don't compute the return type of an overloaded operator
until after we've referenced the operator; otherwise, we might pick up a
not-yet-deduced type.

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

5 months agoDon't reject dependent range-based for loops in constexpr functions. The loop
Richard Smith [Fri, 15 Nov 2013 02:29:26 +0000 (02:29 +0000)]
Don't reject dependent range-based for loops in constexpr functions. The loop
variable isn't really uninitialized, it's just not initialized yet.

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

5 months agoFix test failures after addrspacecast added.
Matt Arsenault [Fri, 15 Nov 2013 02:19:52 +0000 (02:19 +0000)]
Fix test failures after addrspacecast added.

Bitcasts between address spaces are no longer allowed.

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

5 months ago[analyzer] Silence warnings coming from allocators used by std::basic_string.
Jordan Rose [Fri, 15 Nov 2013 02:11:19 +0000 (02:11 +0000)]
[analyzer] Silence warnings coming from allocators used by std::basic_string.

This is similar to r194004: because we can't reason about the data structure
invariants of std::basic_string, the analyzer decides it's possible for an
allocator to be used to deallocate the string's inline storage. Just ignore
this by walking up the stack, skipping past methods in classes with
"allocator" in the name, and seeing if we reach std::basic_string that way.

PR17866

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

5 months ago[analyzer] Include bug column numbers in HTML output (in a comment).
Jordan Rose [Fri, 15 Nov 2013 02:11:11 +0000 (02:11 +0000)]
[analyzer] Include bug column numbers in HTML output (in a comment).

This has no effect on user-visible output, but can be used by post-processing
tools that work with the generated HTML, rather than using CmpRuns.py's
interface to work with plists.

Patch by György Orbán!

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

5 months agoModern gcc is happy to constant evaluate __builtin_strlen in various cases
Richard Smith [Fri, 15 Nov 2013 02:10:04 +0000 (02:10 +0000)]
Modern gcc is happy to constant evaluate __builtin_strlen in various cases
where we didn't. Extend our constant evaluation for __builtin_strlen to handle
any constant array of chars, not just string literals, to match.

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

5 months agoR600: Add processor type for Hawaii
Tom Stellard [Thu, 14 Nov 2013 23:45:53 +0000 (23:45 +0000)]
R600: Add processor type for Hawaii

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

5 months agoPR 17916: Don't fail if xcrun is not present.
Joerg Sonnenberger [Thu, 14 Nov 2013 23:18:08 +0000 (23:18 +0000)]
PR 17916: Don't fail if xcrun is not present.

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

5 months agoFix typo
David Peixotto [Thu, 14 Nov 2013 22:58:17 +0000 (22:58 +0000)]
Fix typo

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

5 months agoPass -Wa,-I and -Xassembler -I args to integrated assembler
David Peixotto [Thu, 14 Nov 2013 22:52:58 +0000 (22:52 +0000)]
Pass -Wa,-I and -Xassembler -I args to integrated assembler

This patch adds -I to the arguments that are passed to the
integrated assembler from -Wa, and -Xassembler args.

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

5 months agoInstall clang-format's editor integrations in $PREFIX/share/clang/
Hans Wennborg [Thu, 14 Nov 2013 22:48:06 +0000 (22:48 +0000)]
Install clang-format's editor integrations in $PREFIX/share/clang/

They were previously not part of the install target.

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

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

5 months agoDR408: If a static data member of incomplete array type is declared in a class
Richard Smith [Thu, 14 Nov 2013 22:40:45 +0000 (22:40 +0000)]
DR408: If a static data member of incomplete array type is declared in a class
template, that member has a dependent type (even if we can see the definition
of the member of the primary template), because the array size could change in
a member specialization.

Patch by Karthik Bhat!

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

5 months agoMakes A Microsoft Layout CodeGen Test Explicit
Warren Hunt [Thu, 14 Nov 2013 22:34:59 +0000 (22:34 +0000)]
Makes A Microsoft Layout CodeGen Test Explicit

This patch tests introduces a proper codegen test in place of the
"codegen no longer crashes" test introduced in r193664. The test is also
moved from layout to CodeGenCXX.

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

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

5 months agoAdd -Wdeprecated-writable-string in C++ to -Wc++11-compat, since it's ill-formed...
Richard Smith [Thu, 14 Nov 2013 22:22:31 +0000 (22:22 +0000)]
Add -Wdeprecated-writable-string in C++ to -Wc++11-compat, since it's ill-formed in C++11.

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

5 months ago[AArch64] Add support for legacy AArch32 NEON scalar shift right by immediate
Chad Rosier [Thu, 14 Nov 2013 22:02:24 +0000 (22:02 +0000)]
[AArch64] Add support for legacy AArch32 NEON scalar shift right by immediate
and accumulate instructions.

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

5 months agoObjectiveC migrator: This patch sets access property
Fariborz Jahanian [Thu, 14 Nov 2013 18:28:58 +0000 (18:28 +0000)]
ObjectiveC migrator: This patch sets access property
attributes on 'readonly' properties. // rdar://15460787

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

5 months ago[OpenCL] Make sure we put string literals in the constant address space.
Joey Gouly [Thu, 14 Nov 2013 18:26:10 +0000 (18:26 +0000)]
[OpenCL] Make sure we put string literals in the constant address space.

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

5 months ago[analyzer] Treat MSVC's _wassert as noreturn.
Jordan Rose [Thu, 14 Nov 2013 17:55:00 +0000 (17:55 +0000)]
[analyzer] Treat MSVC's _wassert as noreturn.

This makes sure the analyzer actually honors assert() in an MSVC project.

Patch by Anders Montonen!

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