]> granicus.if.org Git - clang/log
clang
9 years agoMerge part of r246985, which disables this assertion release_37 origin/release_37
Reid Kleckner [Tue, 17 Nov 2015 21:37:58 +0000 (21:37 +0000)]
Merge part of r246985, which disables this assertion

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

9 years agoFix r253250 build break, getIndirect appears to take bytes instead of CharUnits in...
Reid Kleckner [Mon, 16 Nov 2015 21:15:26 +0000 (21:15 +0000)]
Fix r253250 build break, getIndirect appears to take bytes instead of CharUnits in 3.7.0

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

9 years agoMerge r251567:
Reid Kleckner [Mon, 16 Nov 2015 21:05:53 +0000 (21:05 +0000)]
Merge r251567:

Fix the calling convention of Mingw64 long double values

GCC uses the x87DoubleExtended model for long doubles, and passes them
indirectly by address through function calls.

Also replace the existing mingw-long-double assembly emitting test with
an IR-level test.

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

9 years agoMerging r251930:
Tom Stellard [Thu, 12 Nov 2015 01:57:22 +0000 (01:57 +0000)]
Merging r251930:

------------------------------------------------------------------------
r251930 | martellmalone | 2015-11-03 10:57:45 -0500 (Tue, 03 Nov 2015) | 6 lines

Remove some legacy mingw-w64 gcc struct info

As of gcc 4.7 mingw-w64 no longer emits 128-bit structs as i128

Differential Revision: http://reviews.llvm.org/D14179

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

9 years agoMerging r246882:
Tom Stellard [Wed, 11 Nov 2015 21:45:36 +0000 (21:45 +0000)]
Merging r246882:

------------------------------------------------------------------------
r246882 | hfinkel | 2015-09-04 17:49:21 -0400 (Fri, 04 Sep 2015) | 32 lines

Don't crash on a self-alias declaration

We were crashing in CodeGen given input like this:

  int self_alias(void) __attribute__((weak, alias("self_alias")));

such a self-alias is invalid, but instead of diagnosing the situation, we'd
proceed to produce IR for both the function declaration and the alias. Because
we already had a function named 'self_alias', the alias could not be named the
same thing, and so LLVM would pick a different name ('self_alias1' for example)
for that value. When we later called CodeGenModule::checkAliases, we'd look up
the IR value corresponding to the alias name, find the function declaration
instead, and then assert in a cast to llvm::GlobalAlias. The easiest way to prevent
this is simply to avoid creating the wrongly-named alias value in the first
place and issue the diagnostic there (instead of in checkAliases). We detect a
related cycle case in CodeGenModule::EmitAliasDefinition already, so this just
adds a second such check.

Even though the other test cases for this 'alias definition is part of a cycle'
diagnostic are in test/Sema/attr-alias-elf.c, I've added a separate regression
test for this case. This is because I can't add this check to
test/Sema/attr-alias-elf.c without disturbing the other test cases in that
file. In order to avoid construction of the bad IR values, this diagnostic
is emitted from within CodeGenModule::EmitAliasDefinition (and the relevant
declaration is not added to the Aliases vector). The other cycle checks are
done within the CodeGenModule::checkAliases function based on the Aliases
vector, called from CodeGenModule::Release.  However, if there have been errors
earlier, HandleTranslationUnit does not call Release, and so checkAliases is
never called, and so none of the other diagnostics would be produced.

Fixes PR23509.

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

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

9 years agoMerging r251335:
Tom Stellard [Fri, 6 Nov 2015 11:38:48 +0000 (11:38 +0000)]
Merging r251335:

------------------------------------------------------------------------
r251335 | ismail.pazarbasi | 2015-10-26 15:20:24 -0400 (Mon, 26 Oct 2015) | 13 lines

MismatchingNewDeleteDetector uses incorrect field, and finds no initializer

Summary:
In `MismatchingNewDeleteDetector::analyzeInClassInitializer`, if
`Field`'s initializer expression is null, lookup the field in
implicit instantiation, and use found field's the initializer.

Reviewers: rsmith, rtrieu

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D9898

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

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

9 years agoMerging r250657:
Tom Stellard [Fri, 6 Nov 2015 11:38:46 +0000 (11:38 +0000)]
Merging r250657:

------------------------------------------------------------------------
r250657 | dimitry | 2015-10-18 09:32:20 -0400 (Sun, 18 Oct 2015) | 13 lines

Support linking against OpenMP runtime on FreeBSD.

Summary:
Similar to rL248426 (which was a followup to rL248379 and rL248424), add the
required libraries for OpenMP on the linker command line, and update the test
case.

Reviewers: emaste, theraven, joerg

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D13822

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

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

9 years agoMerging r248426:
Tom Stellard [Fri, 6 Nov 2015 11:38:44 +0000 (11:38 +0000)]
Merging r248426:

------------------------------------------------------------------------
r248426 | joerg | 2015-09-23 16:11:00 -0400 (Wed, 23 Sep 2015) | 2 lines

Support linking against OpenMP runtime on NetBSD.

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

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

9 years agoMerging r248424:
Tom Stellard [Fri, 6 Nov 2015 11:38:41 +0000 (11:38 +0000)]
Merging r248424:

------------------------------------------------------------------------
r248424 | joerg | 2015-09-23 16:07:56 -0400 (Wed, 23 Sep 2015) | 3 lines

Push OpenMP linker flags after linker input on Darwin. Don't add any
libraries if -nostdlib is specified. Test.

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

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

9 years agoMerging r248379:
Tom Stellard [Fri, 6 Nov 2015 11:38:38 +0000 (11:38 +0000)]
Merging r248379:

------------------------------------------------------------------------
r248379 | joerg | 2015-09-23 10:06:52 -0400 (Wed, 23 Sep 2015) | 3 lines

Refactor library decision for -fopenmp support from Darwin into a
function for sharing with other platforms.

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

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

9 years agoReleaseNotes: Move SystemZ so it doesn't come between the static analyzer
Hans Wennborg [Thu, 27 Aug 2015 16:18:08 +0000 (16:18 +0000)]
ReleaseNotes: Move SystemZ so it doesn't come between the static analyzer
and clang-tidy sections, which concern similar functionality.

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

9 years agoAdd a clang release note about raising the minimum Windows version for the next major...
Hans Wennborg [Wed, 26 Aug 2015 22:01:10 +0000 (22:01 +0000)]
Add a clang release note about raising the minimum Windows version for the next major release

By Greg Bedwell!

Differential Revision: http://reviews.llvm.org/D12368

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

9 years agoAdd note about SEH to clang 3.7 notes
Reid Kleckner [Wed, 26 Aug 2015 15:41:07 +0000 (15:41 +0000)]
Add note about SEH to clang 3.7 notes

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

9 years agoReleaseNotes: some touch-ups
Hans Wennborg [Tue, 25 Aug 2015 20:30:21 +0000 (20:30 +0000)]
ReleaseNotes: some touch-ups

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

9 years agoReleaseNotes: remove in-progress warning
Hans Wennborg [Tue, 25 Aug 2015 19:52:35 +0000 (19:52 +0000)]
ReleaseNotes: remove in-progress warning

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

9 years agoFix typo in release notes, PR24555
Richard Trieu [Mon, 24 Aug 2015 17:47:18 +0000 (17:47 +0000)]
Fix typo in release notes, PR24555

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

9 years agoReverting r245456:
Hans Wennborg [Thu, 20 Aug 2015 22:03:38 +0000 (22:03 +0000)]
Reverting r245456:
------------------------------------------------------------------------

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

9 years agoMerging r245560:
Hans Wennborg [Thu, 20 Aug 2015 21:09:20 +0000 (21:09 +0000)]
Merging r245560:
------------------------------------------------------------------------
r245560 | ogoffart | 2015-08-20 06:11:14 -0700 (Thu, 20 Aug 2015) | 5 lines

Fix crash with two typos in the arguments of a function

The problem is that the arguments are of TheCall are reset later
to the ones in Args, making TypoExpr put back. Some TypoExpr that have
already  been diagnosed and will assert later in Sema::getTypoExprState
------------------------------------------------------------------------

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

9 years agoMerging r245084:
Hans Wennborg [Wed, 19 Aug 2015 16:40:03 +0000 (16:40 +0000)]
Merging r245084:
------------------------------------------------------------------------
r245084 | martell | 2015-08-14 12:05:56 -0700 (Fri, 14 Aug 2015) | 13 lines

WindowsX86: long double is x87DoubleExtended on mingw

    Summary:
    long double on x86 mingw is 80bits and is aligned to 16bytes

Fixes:
    https://llvm.org/bugs/show_bug.cgi?id=24398

    Reviewers: rnk

    Subscribers: cfe-commits

    Differential Revision: http://reviews.llvm.org/D12037
------------------------------------------------------------------------

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

9 years agoMerging r244902:
Hans Wennborg [Wed, 19 Aug 2015 00:06:22 +0000 (00:06 +0000)]
Merging r244902:
------------------------------------------------------------------------
r244902 | martell | 2015-08-13 08:41:04 -0700 (Thu, 13 Aug 2015) | 12 lines

Driver: Fix include directories when not using libgcc under mingw

Summary:
When we want to use mingw-w64 and clang with compiler-rt we should not
need to have libgcc installed. This fixes finding includes when libgcc
is not installed

Reviewers: yaron.keren

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D11808
------------------------------------------------------------------------

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

9 years agoMerge r244488 to the 3.7 release branch
Reid Kleckner [Tue, 18 Aug 2015 23:18:57 +0000 (23:18 +0000)]
Merge r244488 to the 3.7 release branch

It avoids doing key function optimizations when the key function is
dllimported.

Fixed PR24409.

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

9 years agoMerge r244266 to the 3.7 release branch
Reid Kleckner [Tue, 18 Aug 2015 23:16:47 +0000 (23:16 +0000)]
Merge r244266 to the 3.7 release branch

It's actually probably a no-op, since the 3.7 branch will not generate
available externally vtables.

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

9 years agoReleaseNotes: clang-tidy changes; by Alexander Kornienko
Hans Wennborg [Tue, 18 Aug 2015 18:44:16 +0000 (18:44 +0000)]
ReleaseNotes: clang-tidy changes; by Alexander Kornienko

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

9 years agoMerging r245259:
Hans Wennborg [Tue, 18 Aug 2015 16:50:24 +0000 (16:50 +0000)]
Merging r245259:
------------------------------------------------------------------------
r245259 | hans | 2015-08-17 16:38:56 -0700 (Mon, 17 Aug 2015) | 3 lines

Doxygen: add build option to use svg instead of png files for graphs

Differential Revision: http://reviews.llvm.org/D11994
------------------------------------------------------------------------

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

9 years agoRelease Notes: static anaylizer changes; by Gábor Horváth
Hans Wennborg [Tue, 18 Aug 2015 16:30:07 +0000 (16:30 +0000)]
Release Notes: static anaylizer changes; by Gábor Horváth

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

9 years agoReleaseNotes: System/Z -> SystemZ
Hans Wennborg [Mon, 17 Aug 2015 21:23:57 +0000 (21:23 +0000)]
ReleaseNotes: System/Z -> SystemZ

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

9 years agoMerging r245041:
Hans Wennborg [Mon, 17 Aug 2015 18:27:39 +0000 (18:27 +0000)]
Merging r245041:
------------------------------------------------------------------------
r245041 | abataev | 2015-08-14 05:25:37 -0700 (Fri, 14 Aug 2015) | 4 lines

[OPENMP] Fix for http://llvm.org/PR24371: Assert failure compiling blender 2.75.
blender uses statements expression in condition of the loop under control of the '#pragma omp parallel for'. This condition is used several times in different expressions required for codegen of the loop directive. If there are some variables defined in statement expression, it fires an assert during codegen because of redefinition of the same variables.
We have to rebuild several expression to be sure that all variables are unique.

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

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

9 years agoReleaseNotes: add objc_boxable into ObjC section
Alex Denisov [Sun, 16 Aug 2015 13:17:05 +0000 (13:17 +0000)]
ReleaseNotes: add objc_boxable into ObjC section

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

9 years agoReleaseNotes: add -Wcirucular-container
Alex Denisov [Sun, 16 Aug 2015 13:03:01 +0000 (13:03 +0000)]
ReleaseNotes: add -Wcirucular-container

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

9 years agoMerging r244502:
Hans Wennborg [Sat, 15 Aug 2015 01:30:22 +0000 (01:30 +0000)]
Merging r244502:
------------------------------------------------------------------------
r244502 | chh | 2015-08-10 13:58:54 -0700 (Mon, 10 Aug 2015) | 8 lines

Fix test case to work with -Asserts builds.

When clang is built with -DLLVM_ENABLE_ASSERTIONS=Off,
it does not create names for IR values.

Differential Revision: http://reviews.llvm.org/D11437

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

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

9 years agoMerging r244193:
Hans Wennborg [Fri, 14 Aug 2015 22:43:37 +0000 (22:43 +0000)]
Merging r244193:
------------------------------------------------------------------------
r244193 | alexdenisov | 2015-08-05 21:51:14 -0700 (Wed, 05 Aug 2015) | 3 lines

[ObjC] Circular containers: add support of subclasses

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

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

9 years agoReleaseNotes: System/Z changes. By Ulrich Weigand
Hans Wennborg [Fri, 14 Aug 2015 22:00:17 +0000 (22:00 +0000)]
ReleaseNotes: System/Z changes. By Ulrich Weigand

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

9 years agoMerging r244468:
Hans Wennborg [Fri, 14 Aug 2015 21:00:50 +0000 (21:00 +0000)]
Merging r244468:
------------------------------------------------------------------------
r244468 | chh | 2015-08-10 10:33:31 -0700 (Mon, 10 Aug 2015) | 15 lines

Correct x86_64 fp128 calling convention

These changes are for Android x86_64 targets to be compatible
with current Android g++ and conform to AMD64 ABI.

https://llvm.org/bugs/show_bug.cgi?id=23897
  * Return type of long double (fp128) should be fp128, not x86_fp80.
  * Vararg of long double (fp128) could be in register and overflowed to memory.

https://llvm.org/bugs/show_bug.cgi?id=24111
  * Return value of long double (fp128) _Complex should be in memory like a structure of {fp128,fp128}.

Differential Revision: http://reviews.llvm.org/D11437

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

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

9 years agoMerging r243133:
Hans Wennborg [Fri, 14 Aug 2015 20:59:12 +0000 (20:59 +0000)]
Merging r243133:
------------------------------------------------------------------------
r243133 | chh | 2015-07-24 11:12:54 -0700 (Fri, 24 Jul 2015) | 8 lines

Correct x86_64 Android fp128 mangled name

These changes are for Android x86_64 targets to be compatible with current Android g++.
https://llvm.org/bugs/show_bug.cgi?id=23897
Use 'g' and 'Cg' for "long double" and "long double _Complex" mangled type names.

Differential Revision: http://reviews.llvm.org/D11466

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

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

9 years agoMention CFI in release notes.
Peter Collingbourne [Fri, 14 Aug 2015 20:30:05 +0000 (20:30 +0000)]
Mention CFI in release notes.

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

9 years agoMerging r243851:
Hans Wennborg [Fri, 14 Aug 2015 18:08:54 +0000 (18:08 +0000)]
Merging r243851:
------------------------------------------------------------------------
r243851 | rksimon | 2015-08-02 08:28:10 -0700 (Sun, 02 Aug 2015) | 7 lines

Fix invalid shufflevector operands

This patch fixes bug 23800 ( https://llvm.org/bugs/show_bug.cgi?id=23800#c2 ). There existed a case where the index operand from extractelement was directly used to create a shufflevector mask. Since the index can be of any integral type but the mask must only contain 32 bit integers a 64 bit index operand led to an assertion error later on.

Committed on behalf of mpflanzer (Moritz Pflanzer)

Differential Revision: http://reviews.llvm.org/D10838
------------------------------------------------------------------------

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

9 years agoAdd release notes for PGO flag changes.
Diego Novillo [Fri, 14 Aug 2015 15:46:59 +0000 (15:46 +0000)]
Add release notes for PGO flag changes.

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

9 years agoGenerate docs/AttributeReference.rst
Hans Wennborg [Thu, 13 Aug 2015 16:15:29 +0000 (16:15 +0000)]
Generate docs/AttributeReference.rst

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

9 years agoUpdate release notes for some warning changes.
Richard Trieu [Wed, 12 Aug 2015 21:02:10 +0000 (21:02 +0000)]
Update release notes for some warning changes.

Document -Wrange-loop-analysis, -Wpessimizing-move, and -Wredundant-move
New group -Wmove
-Wmove and -Winfinite-recursion added to -Wmost and -Wall

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

9 years agoMerging r244794:
Hans Wennborg [Wed, 12 Aug 2015 19:40:07 +0000 (19:40 +0000)]
Merging r244794:
------------------------------------------------------------------------
r244794 | hans | 2015-08-12 12:35:01 -0700 (Wed, 12 Aug 2015) | 1 line

Docs: update clang-cl command-line documentation
------------------------------------------------------------------------

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

9 years agoMerging r244000:
Hans Wennborg [Wed, 12 Aug 2015 17:13:14 +0000 (17:13 +0000)]
Merging r244000:
------------------------------------------------------------------------
r244000 | tbrethou | 2015-08-04 20:55:23 -0700 (Tue, 04 Aug 2015) | 2 lines

Update mailing list references to lists.llvm.org

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

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

9 years agoMerging r244719:
Hans Wennborg [Wed, 12 Aug 2015 17:01:12 +0000 (17:01 +0000)]
Merging r244719:
------------------------------------------------------------------------
r244719 | abataev | 2015-08-12 00:10:54 -0700 (Wed, 12 Aug 2015) | 4 lines

[OPENMP] Fix for http://llvm.org/PR24430: clang hangs on invalid input with openmp directive

Add parsing of openmp directives inside structs/unions in C mode.

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

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

9 years agoReleaseNotes: small version nbr fix
Hans Wennborg [Wed, 12 Aug 2015 16:41:18 +0000 (16:41 +0000)]
ReleaseNotes: small version nbr fix

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

9 years agoMerging r243945-243950.
Hans Wennborg [Thu, 6 Aug 2015 15:53:49 +0000 (15:53 +0000)]
Merging r243945-243950.
------------------------------------------------------------------------
r243945 | chandlerc | 2015-08-03 20:52:52 -0700 (Mon, 03 Aug 2015) | 5 lines

[UB] Fix two cases of UB in copy/pasted code from SmallVector.

We should really stop copying and pasting code around. =/

Found by UBSan.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243946 | chandlerc | 2015-08-03 20:52:56 -0700 (Mon, 03 Aug 2015) | 9 lines

[UB] Fix the two ways that we would try to memcpy from a null buffer in
the nested name specifier code.

First, skip the entire thing when the input is empty.

Next, handle the case where we started off with a null buffer and a zero
capacity to skip copying and freeing.

This was found with UBSan.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243947 | chandlerc | 2015-08-03 20:52:58 -0700 (Mon, 03 Aug 2015) | 4 lines

[UB] When attaching empty strings to the AST, use an empty StringRef
rather than forcing the bump pointer allocator to produce a viable
pointer. This also fixes UB when we would try to memcpy from the null
incoming StringRef.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243948 | chandlerc | 2015-08-03 20:53:00 -0700 (Mon, 03 Aug 2015) | 9 lines

[UB] Another place where we were trying to put string data into
a BumpPtrAllocator. This at least now handles the case where there is no
concatentation without calling memcpy on a null pointer. It might be
interesting to handle the case where everything is empty without
round-tripping through the allocator, but it wasn't clear to me if the
pointer returned is significant in any way, so I've left it in
a conservatively more-correct state.

Again, found with UBSan.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243949 | chandlerc | 2015-08-03 20:53:01 -0700 (Mon, 03 Aug 2015) | 4 lines

[UB] Guard two calls to memcpy in generated attribute code to handle
null StringRef objects as inputs.

Found by UBSan.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243950 | chandlerc | 2015-08-03 20:53:04 -0700 (Mon, 03 Aug 2015) | 8 lines

[UB] Avoid a really broken call to realloc that would later result in
a bad call to memcpy.

When we only have a buffer from one of the two reparse calls, we can
just return that buffer rather than going through the realloc/memcpy
dance.

Found with UBsan.
------------------------------------------------------------------------

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

9 years agoMerging r243085:
Hans Wennborg [Wed, 5 Aug 2015 20:40:28 +0000 (20:40 +0000)]
Merging r243085:
------------------------------------------------------------------------
r243085 | steven_wu | 2015-07-23 19:12:43 -0700 (Thu, 23 Jul 2015) | 5 lines

Fix the cc1as crash when it outputs assembly

In clang cc1as_main, when the output file type is ?\226?\128?\156asm?\226?\128?\157, AsmStreamer
owns a formatted_raw_ostream which has a reference to FDOS
(raw_ostream), so AsmStreamer must be closed before FDOS is closed.
------------------------------------------------------------------------

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

9 years agoMerging r243964:
Hans Wennborg [Wed, 5 Aug 2015 18:38:07 +0000 (18:38 +0000)]
Merging r243964:
------------------------------------------------------------------------
r243964 | abataev | 2015-08-04 01:10:48 -0700 (Tue, 04 Aug 2015) | 4 lines

[OPENMP] Fix compiler crash during data-sharing attributes analysis.

If a global variable is marked as private in OpenMP construct and then is used in of the private clauses of the same construct, it might cause compiler crash because of incorrect capturing.

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

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

9 years agoReverting r239883 and r240720:
Hans Wennborg [Tue, 4 Aug 2015 00:40:54 +0000 (00:40 +0000)]
Reverting r239883 and r240720:
------------------------------------------------------------------------
r239883 | echristo | 2015-06-17 00:09:32 -0700 (Wed, 17 Jun 2015) | 16 lines

Update the intel intrinsic headers to use the target attribute support.

This involved removing the conditional inclusion and replacing them
with target attributes matching the original conditional inclusion
and checks. The testcase update removes the macro checks for each
file and replaces them with usage of the __target__ attribute, e.g.:

int __attribute__((__target__(("sse3")))) foo(int a) {
  _mm_mwait(0, 0);
  return 4;
}

This usage does require the enclosing function have the requisite
__target__ attribute for inlining and code generation - also for
any macro intrinsic uses in the enclosing function. There's no change
for existing uses of the intrinsic headers.
------------------------------------------------------------------------

------------------------------------------------------------------------
r240720 | silvas | 2015-06-25 16:22:11 -0700 (Thu, 25 Jun 2015) | 6 lines

Remove `requires` for x86 CPU features.

Ever since the target attributes change, we don't need to guard these
headers with `requires`. Actually it's a bit worse, because if we do
then they are included textually under the covers, causing declarations
to appear in submodules they aren't supposed to be in.
------------------------------------------------------------------------

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

9 years agoMerging r243642, r243643, and r243644:
Hans Wennborg [Thu, 30 Jul 2015 22:47:41 +0000 (22:47 +0000)]
Merging r243642, r243643, and r243644:
------------------------------------------------------------------------
r243642 | uweigand | 2015-07-30 07:08:36 -0700 (Thu, 30 Jul 2015) | 29 lines

Add support for System z vector language extensions

The z13 vector facility has an associated language extension,
closely modeled on AltiVec/VSX.  The main differences are:

- vector long, vector float and vector pixel are not supported

- vector long long and vector double are supported (like VSX)

- comparison operators return a vector rather than a scalar integer

- shift operators behave like the OpenCL shift operators

- vector bool is only supported as argument to certain operators;
  some operators allow mixing a bool with a non-bool vector

This patch adds clang support for the extension.  It is closely modelled
on the AltiVec support.  Similarly to the -faltivec option, there's a
new -fzvector option to enable the extensions (as well as an -mzvector
alias for compatibility with GCC).  There's also a separate LangOpt.

The extension as implemented here is intended to be compatible with
the -mzvector extension recently implemented by GCC.

Based on a patch by Richard Sandiford.

Differential Revision: http://reviews.llvm.org/D11001
------------------------------------------------------------------------

------------------------------------------------------------------------
r243643 | uweigand | 2015-07-30 07:10:43 -0700 (Thu, 30 Jul 2015) | 18 lines

[SystemZ] Add support for vecintrin.h vector built-in functions

This patch adds support for the System Z vector built-in functions.
The API-defined header file has the name vecintrin.h.

The user-level functions are defined in the same style as the clang
version of altivec.h, making heavy use of the __overloadable__ and
__always_inline__ attributes.  Where possible the functions expand to
generic operations rather than specific built-in functions, in the hope
that that form can be optimised better.

Where a built-in routine is specified to require an immediate integer
argument, the __enable_if__ attribute is used to verify the argument is
in fact constant and in the appropriate range.

Based on a patch by Richard Sandiford.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243644 | uweigand | 2015-07-30 08:53:58 -0700 (Thu, 30 Jul 2015) | 21 lines

Fix sanitizer fallout from r243642

The memory-sanitizer build bot reported:

==5574== WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x7f03089e15f6 in
clang::Parser::TryAltiVecTokenOutOfLine(clang::DeclSpec&,
clang::SourceLocation, char const*&, unsigned int&, bool&)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/ParseDecl.cpp:6290:11

This is because the "Ident_pixel" variable was uninitialized
in the getLangOpts().ZVector case, but we'd still call into
clang::Parser::TryAltiVecTokenOutOfLine, which uses the variable.

The simplest fix for this without sprinkling !getLangOpts().ZVector
checks all over the code seems to be to just initialize the variable
to nullptr; this will then do the right thing on ZVector.

Checked in to unbreak the build bots.
------------------------------------------------------------------------

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

9 years agoMerging r243206:
Hans Wennborg [Thu, 30 Jul 2015 16:22:28 +0000 (16:22 +0000)]
Merging r243206:
------------------------------------------------------------------------
r243206 | majnemer | 2015-07-24 22:57:24 -0700 (Fri, 24 Jul 2015) | 10 lines

[CodeGen] Don't UBSan-ize the argument to __builtin_frame_address

__builtin_frame_address requires its argument to be a constant
expression which already implies that it cannot have undefined behavior.
However, we used EmitScalarExpr to emit the argument causing UBSan to
try to check for overflow.

Instead, use the constant expression emission system.

This fixes PR24256.
------------------------------------------------------------------------

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

9 years agoMerging r243352, r243353:
Renato Golin [Thu, 30 Jul 2015 09:57:20 +0000 (09:57 +0000)]
Merging r243352, r243353:

[ARM] Changes to Arch/CPU handling to help with -Wa,-mfpu etc. (nfc)
[ARM] Implement -Wa,-mfpu and friends for assemblers

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

9 years agoMerging r243463, r243538, and r243594:
Hans Wennborg [Thu, 30 Jul 2015 01:56:50 +0000 (01:56 +0000)]
Merging r243463, r243538, and r243594:
------------------------------------------------------------------------
r243463 | rtrieu | 2015-07-28 12:06:16 -0700 (Tue, 28 Jul 2015) | 6 lines

Do not give a -Wredundant-move warning when removing the move will result in an
error.

If the object being moved has a move constructor and a deleted copy constructor,
std::move is required, otherwise Clang will give a deleted constructor error.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243538 | rtrieu | 2015-07-29 10:03:34 -0700 (Wed, 29 Jul 2015) | 7 lines

Disable -Wpessimizing-move and -Wredundant-move in template instantiations.

Dependent types can throw off the analysis for these warnings, possibly giving
conflicting warnings and fix-its.  Disabling the warning in template
instantiations will prevent this problem, and will still catch the
non-dependent cases in templates.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243594 | rtrieu | 2015-07-29 16:47:19 -0700 (Wed, 29 Jul 2015) | 7 lines

Fix -Wredundant-move warning.

Without DR1579 implemented, the only case for -Wredundant-move is for a
parameter being returned with the same type as the function return type.  Also
include a check to verify that the move constructor will be used by matching
nodes in the AST dump.
------------------------------------------------------------------------

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

9 years agoMerging r242854:
Hans Wennborg [Thu, 30 Jul 2015 01:54:41 +0000 (01:54 +0000)]
Merging r242854:
------------------------------------------------------------------------
r242854 | rtrieu | 2015-07-21 16:38:30 -0700 (Tue, 21 Jul 2015) | 3 lines

Change a test to follow the formatting of the rest of the tests in the file.
No functional change.

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

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

9 years agoMerging r242600:
Hans Wennborg [Thu, 30 Jul 2015 01:50:41 +0000 (01:50 +0000)]
Merging r242600:
------------------------------------------------------------------------
r242600 | davide | 2015-07-17 18:15:19 -0700 (Fri, 17 Jul 2015) | 8 lines

[Sema] Emit correct warning when copy-elision is not possible.

If we're returning a function parameter, copy elision isn't possible,
so we now warn for redundant move.

PR: 23819
Differential Revision:  http://reviews.llvm.org/D11305

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

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

9 years agoMerging r243343:
Hans Wennborg [Wed, 29 Jul 2015 19:58:23 +0000 (19:58 +0000)]
Merging r243343:
------------------------------------------------------------------------
r243343 | akirtzidis | 2015-07-27 16:16:53 -0700 (Mon, 27 Jul 2015) | 4 lines

[sema] Fix infinite loop when using a boolean value as designated initializer.

For designated indices use the max array size type bitwidth, not the bitwidth of the index value itself.
rdar://21942503
------------------------------------------------------------------------

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

9 years agoMerging r243277, r243280, r243285, and r243289
Hans Wennborg [Tue, 28 Jul 2015 16:47:18 +0000 (16:47 +0000)]
Merging r243277, r243280, r243285, and r243289

------------------------------------------------------------------------
r243277 | sfantao | 2015-07-27 09:38:06 -0700 (Mon, 27 Jul 2015) | 4 lines

[OpenMP] Add capture for threadprivate variables used in copyin clause
if TLS is enabled in OpenMP code generation.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243280 | sfantao | 2015-07-27 09:59:45 -0700 (Mon, 27 Jul 2015) | 4 lines

[OpenMP] Add TLS requirement for the copyin clause codegen test. This is an
attempt to fix regressions triggered by r243277.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243285 | sfantao | 2015-07-27 10:30:41 -0700 (Mon, 27 Jul 2015) | 2 lines

[OpenMP] Fix copyin clause codegen regression caused by r243277.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243289 | sfantao | 2015-07-27 10:49:18 -0700 (Mon, 27 Jul 2015) | 3 lines

[OpenMP] Fix copyin codegen test regression in order used in compare
instruction.
------------------------------------------------------------------------

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

9 years agoMerging r243417:
Hans Wennborg [Tue, 28 Jul 2015 16:39:38 +0000 (16:39 +0000)]
Merging r243417:
------------------------------------------------------------------------
r243417 | kbeyls | 2015-07-28 07:23:47 -0700 (Tue, 28 Jul 2015) | 3 lines

RegParmMax must be 0 for AArch64, as the regparm function attribute is not supported on AArch64.

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

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

9 years agoMerging r243196:
Hans Wennborg [Tue, 28 Jul 2015 16:16:43 +0000 (16:16 +0000)]
Merging r243196:
------------------------------------------------------------------------
r243196 | davide | 2015-07-24 18:19:32 -0700 (Fri, 24 Jul 2015) | 6 lines

[SemaTemplate] Detect instantiation of unparsed exceptions.

This fixes the clang crash reported in PR24000.

Differential Revision: http://reviews.llvm.org/D11341

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

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

9 years agoMerging r243098, r243101, r243105, r243144, and r243153.
Hans Wennborg [Mon, 27 Jul 2015 20:42:22 +0000 (20:42 +0000)]
Merging r243098, r243101, r243105, r243144, and r243153.

------------------------------------------------------------------------
r243098 | yrnkrn | 2015-07-24 01:50:15 -0700 (Fri, 24 Jul 2015) | 7 lines

Add extensive tests for the mingw toolchain and remove trailing slash from Arch.

Address Richard Smith comments: remove the trailing seperator from the Arch
variable, implement six mingw_* trees under tools/clangtest/Driver/Inputs
and merge linux and Windows tests into a universal test that uses these trees.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243101 | yrnkrn | 2015-07-24 02:31:57 -0700 (Fri, 24 Jul 2015) | 3 lines

Try to appease clang buildbot by forcing libstdc++ in mingw.cpp test.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243105 | yrnkrn | 2015-07-24 04:01:45 -0700 (Fri, 24 Jul 2015) | 4 lines

Apparently some of the bots add .svn dirs inside the test/Driver/Inputs
directory structure. Try to make mingw toolchain resilient to such surprises.
------------------------------------------------------------------------

------------------------------------------------------------------------
r243144 | yrnkrn | 2015-07-24 12:18:17 -0700 (Fri, 24 Jul 2015) | 5 lines

Base the sys-root/mingw/include path on sysroot and not on /usr.

Thanks to Richard Smith for pointing this out!
------------------------------------------------------------------------

------------------------------------------------------------------------
r243153 | yrnkrn | 2015-07-24 13:18:27 -0700 (Fri, 24 Jul 2015) | 4 lines

Select the highest version of the mingw toolchain found using Generic_GCC::GCCVersion
similar to the way Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple works.
------------------------------------------------------------------------

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

9 years agoMerging r242973:
Hans Wennborg [Mon, 27 Jul 2015 20:36:24 +0000 (20:36 +0000)]
Merging r242973:
------------------------------------------------------------------------
r242973 | hans | 2015-07-22 16:54:51 -0700 (Wed, 22 Jul 2015) | 3 lines

Downgrade error about adding 'dllimport' to used free function to warning (PR24215)

The code will still work as it can reference the function via its thunk.
------------------------------------------------------------------------

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

9 years agoMerging r243262:
Renato Golin [Mon, 27 Jul 2015 18:29:53 +0000 (18:29 +0000)]
Merging r243262:

Setting ARM dynamic linker name from commandline

Currently trigger to select hard-float linker is only based of -gnueabihf
appearing in target triplet, but we should also select it when hardfloat
is requested via cmdline.

Patch by Khem Raj.

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

9 years ago[OPENMP] Info in release notes about OpenMP support in clang.
Hans Wennborg [Fri, 24 Jul 2015 21:19:42 +0000 (21:19 +0000)]
[OPENMP] Info in release notes about OpenMP support in clang.

Add info about completion of OpenMP 3.1 + support for some elements of OpenMP 4.0

Patch by Alexey Bataev!

Differential Revision: http://reviews.llvm.org/D11059

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

9 years agoMerging r243048:
Hans Wennborg [Fri, 24 Jul 2015 15:57:40 +0000 (15:57 +0000)]
Merging r243048:
------------------------------------------------------------------------
r243048 | alexdenisov | 2015-07-23 14:53:13 -0700 (Thu, 23 Jul 2015) | 1 line

Add documentation for the objc_boxable attribute
------------------------------------------------------------------------

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

9 years agoMerging r242905:
Hans Wennborg [Thu, 23 Jul 2015 23:13:24 +0000 (23:13 +0000)]
Merging r242905:
------------------------------------------------------------------------
r242905 | rnk | 2015-07-22 09:01:38 -0700 (Wed, 22 Jul 2015) | 7 lines

[mingw] Add support for -rtlib option and -stdlib option to the mingw driver

Now clang should be able to use compiler-rt and libc++ on mingw.

Based on a patch by Martell Malone.

Differential Revision: http://reviews.llvm.org/D11237
------------------------------------------------------------------------

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

9 years agoMerging r242662 and r242766:
Hans Wennborg [Thu, 23 Jul 2015 23:12:19 +0000 (23:12 +0000)]
Merging r242662 and r242766:

------------------------------------------------------------------------
r242662 | yrnkrn | 2015-07-20 03:20:57 -0700 (Mon, 20 Jul 2015) | 3 lines

Fix typo found by Joerg Sonnenberger.
------------------------------------------------------------------------

------------------------------------------------------------------------
r242766 | yrnkrn | 2015-07-21 04:01:00 -0700 (Tue, 21 Jul 2015) | 7 lines

Fix mingw toolchain to honor sysroot on Linux and add tests.

It should now support three mingw distributions running on Windows
and three Linux distributions. The include directories for each are
listed in the comments.
------------------------------------------------------------------------

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

9 years agoMerging r242660 and r242667:
Hans Wennborg [Thu, 23 Jul 2015 23:07:25 +0000 (23:07 +0000)]
Merging r242660 and r242667:

------------------------------------------------------------------------
r242660 | yrnkrn | 2015-07-19 23:38:39 -0700 (Sun, 19 Jul 2015) | 4 lines

Support mingw toolchain include and lib directories on Arch Linux.
Thanks to Thomas Pochtrager for testing this!
------------------------------------------------------------------------

------------------------------------------------------------------------
r242667 | yrnkrn | 2015-07-20 05:40:25 -0700 (Mon, 20 Jul 2015) | 3 lines

Remove erroneous space in "lib64" string constant.
------------------------------------------------------------------------

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

9 years agoMerging r243018:
Hans Wennborg [Thu, 23 Jul 2015 17:52:26 +0000 (17:52 +0000)]
Merging r243018:
------------------------------------------------------------------------
r243018 | alexdenisov | 2015-07-23 07:45:41 -0700 (Thu, 23 Jul 2015) | 5 lines

Add missing files for objc_boxable feature.

Original patch [r240761] is missing all new files because of committer's mistake.

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

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

9 years agoMerging r242678:
Hans Wennborg [Mon, 20 Jul 2015 18:12:14 +0000 (18:12 +0000)]
Merging r242678:
------------------------------------------------------------------------
r242678 | d0k | 2015-07-20 08:31:17 -0700 (Mon, 20 Jul 2015) | 4 lines

[CodeGen] Flip lanes when lowering __builtin_palignr with one lane

Otherwise we'd pick the wrong lane for the resulting shuffle and
miscompile code. PR24187.
------------------------------------------------------------------------

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

9 years agoMerging r242574:
Hans Wennborg [Sat, 18 Jul 2015 00:04:25 +0000 (00:04 +0000)]
Merging r242574:
------------------------------------------------------------------------
r242574 | compnerd | 2015-07-17 14:26:41 -0700 (Fri, 17 Jul 2015) | 8 lines

basic: default to MSVC on Windows

The "armv7-windows", "i686-windows", and "x86_64-windows" targets should be
equivalent to the MSVC environment.  This was previously discussed when the
triples for Windows werw canonicalised.  Im not sure how this was overlooked.
This fixes the emission of non-COFF formats on Windows.

Thanks to ki9a for reporting this issue over IRC!
------------------------------------------------------------------------

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

9 years agoMerging r242499:
Hans Wennborg [Fri, 17 Jul 2015 20:25:46 +0000 (20:25 +0000)]
Merging r242499:
------------------------------------------------------------------------
r242499 | adrian | 2015-07-16 18:19:54 -0700 (Thu, 16 Jul 2015) | 9 lines

Make the clang module container format selectable from the command line.
- introduces a new cc1 option -fmodule-format=[raw,obj]
  with 'raw' being the default
- supports arbitrary module container formats that libclang is agnostic to
- adds the format to the module hash to avoid collisions
- splits the old PCHContainerOperations into PCHContainerWriter and
  a PCHContainerReader.

Thanks to Richard Smith for reviewing this patch!
------------------------------------------------------------------------

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

9 years agoMerging r242382:
Hans Wennborg [Fri, 17 Jul 2015 17:25:26 +0000 (17:25 +0000)]
Merging r242382:
------------------------------------------------------------------------
r242382 | abataev | 2015-07-15 21:19:43 -0700 (Wed, 15 Jul 2015) | 4 lines

[OPENMP] Fixed detection of canonical loops with random access iterators.

Add handling of iterators with copy/move constructors with default arguments + converting template constructors.

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

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

9 years agoMerging r242285:
Hans Wennborg [Fri, 17 Jul 2015 17:24:02 +0000 (17:24 +0000)]
Merging r242285:
------------------------------------------------------------------------
r242285 | abataev | 2015-07-15 05:14:07 -0700 (Wed, 15 Jul 2015) | 4 lines

[OPENMP] http://llvm.org/PR24121: canonical loop rejected when comparison has implicit conversions or destruction

Allow to use complex iterators expressions in loops for C++.

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

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

9 years agoMerging r242313:
Hans Wennborg [Fri, 17 Jul 2015 16:00:16 +0000 (16:00 +0000)]
Merging r242313:
------------------------------------------------------------------------
r242313 | wschmidt | 2015-07-15 11:55:02 -0700 (Wed, 15 Jul 2015) | 9 lines

[PPC64] Update tests for vec_sld

Revision 224297 modified the behavior of vec_sld for little endian so
that LLVM will generate the correct corresponding vsldoi instruction.
I neglected to update the existing tests, which continued to pass
because they were not specific enough.  This patch adds enough
specificity to the tests to make them useful for BE and LE testing of
vec_sld.

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

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

9 years agoMerging r242297:
Hans Wennborg [Fri, 17 Jul 2015 15:58:59 +0000 (15:58 +0000)]
Merging r242297:
------------------------------------------------------------------------
r242297 | wschmidt | 2015-07-15 08:45:53 -0700 (Wed, 15 Jul 2015) | 25 lines

[PPC64LE] Fix vec_sld semantics for little endian

The vec_sld interface provides access to the vsldoi instruction.
Unlike most of the vec_* interfaces, we do not attempt to change the
generated code for vec_sld based on the endian mode.  It is too
difficult to correctly infer the desired semantics because of
different element types, and the corrected instruction sequence is
expensive, involving loading a permute control vector and performing a
generalized permute.

For GCC, this was implemented as "Don't touch the vec_sld"
implementation.  When it came time for the LLVM implementation, I did
the same thing.  However, this was hasty and incorrect.  In LLVM's
version of altivec.h, vec_sld was previously defined in terms of the
vec_perm interface.  Because vec_perm semantics are adjusted for
little endian, this means that leaving vec_sld untouched causes it to
generate something different for LE than for BE.  Not good.

This patch adjusts the form of vec_perm that is used for vec_sld and
vec_vsldoi, effectively undoing the modifications so that the same
vsldoi instruction will be generated for both BE and LE.

There is an accompanying back-end patch to take care of some small
ripple effects caused by these changes.

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

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

9 years agoMerging r242422:
Hans Wennborg [Fri, 17 Jul 2015 15:39:40 +0000 (15:39 +0000)]
Merging r242422:
------------------------------------------------------------------------
r242422 | tra | 2015-07-16 10:24:18 -0700 (Thu, 16 Jul 2015) | 2 lines

Fixed an error in cuda-options.cu test:
  -target option must be used without '='.
------------------------------------------------------------------------

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

9 years agoMerging r242293:
Hans Wennborg [Wed, 15 Jul 2015 21:19:09 +0000 (21:19 +0000)]
Merging r242293:
------------------------------------------------------------------------
r242293 | rafael | 2015-07-15 07:48:06 -0700 (Wed, 15 Jul 2015) | 3 lines

Set comdat when an available_externally thunk is converted to linkonce_odr.

Fixes pr24130.
------------------------------------------------------------------------

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

9 years agoMerging r242244:
Hans Wennborg [Tue, 14 Jul 2015 23:57:14 +0000 (23:57 +0000)]
Merging r242244:
------------------------------------------------------------------------
r242244 | hans | 2015-07-14 16:21:53 -0700 (Tue, 14 Jul 2015) | 1 line

Update cxx_dr_status.html after 3.7 branch
------------------------------------------------------------------------

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

9 years agoCreating release_37 branch off revision 242221
Hans Wennborg [Tue, 14 Jul 2015 22:37:24 +0000 (22:37 +0000)]
Creating release_37 branch off revision 242221

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

9 years agoSema.h: Just prune a redundant \brief introduced in r242133, for now. [-Wdocumentation]
NAKAMURA Takumi [Tue, 14 Jul 2015 22:35:36 +0000 (22:35 +0000)]
Sema.h: Just prune a redundant \brief introduced in r242133, for now. [-Wdocumentation]

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

9 years agoAdd a "maximum TLS alignment" characteristic to the target info, so it
Paul Robinson [Tue, 14 Jul 2015 20:52:32 +0000 (20:52 +0000)]
Add a "maximum TLS alignment" characteristic to the target info, so it
can be different from the normal variable maximum.
Add an error diagnostic for when TLS variables exceed maximum TLS alignment.
Currenty only PS4 sets an explicit maximum TLS alignment.

Patch by Charles Li!

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

9 years ago[Sema] Emit a better diagnostic when variable redeclarations disagree
David Majnemer [Tue, 14 Jul 2015 20:08:49 +0000 (20:08 +0000)]
[Sema] Emit a better diagnostic when variable redeclarations disagree

We referred to all declaration in definitions in our diagnostic messages
which is can be inaccurate.  Instead, classify the declaration and emit
an appropriate diagnostic for the new declaration and an appropriate
note pointing to the old one.

This fixes PR24116.

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

9 years agoRun cuda options test only with specific target.
Artem Belevich [Tue, 14 Jul 2015 18:49:17 +0000 (18:49 +0000)]
Run cuda options test only with specific target.
For now it's only x86_64-linux-gnu.

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

9 years ago[modules] Avoid repeatedly hashing the same name when looking it up in multiple modul...
Richard Smith [Tue, 14 Jul 2015 18:42:41 +0000 (18:42 +0000)]
[modules] Avoid repeatedly hashing the same name when looking it up in multiple module files.

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

9 years ago[clang-cl] Disable C++ exceptions a different way
Reid Kleckner [Tue, 14 Jul 2015 18:16:48 +0000 (18:16 +0000)]
[clang-cl] Disable C++ exceptions a different way

Rather than making -fexceptions a core option that enables C++ EH in
clang-cl, users can use the '-Xclang -fexceptions -Xclang
-fcxx-exceptions' flag set. We weren't going to expose -fexceptions in
clang-cl in the long run, so this way we don't add and then remove a
flag.

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

9 years agoFixed 22941: Integer template parameter as immediate 'I' expectes an integer constant
Sunil Srivastava [Tue, 14 Jul 2015 18:08:50 +0000 (18:08 +0000)]
Fixed 22941: Integer template parameter as immediate 'I' expectes an integer constant
Basically fixed premature testing of integer constraints during template parsing
Reviewed at http://reviews.llvm.org/D10452

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

9 years agoAdd missing builtins to altivec.h for ABI compliance (vol. 4)
Nemanja Ivanovic [Tue, 14 Jul 2015 17:50:27 +0000 (17:50 +0000)]
Add missing builtins to altivec.h for ABI compliance (vol. 4)

This patch corresponds to review:
http://reviews.llvm.org/D11184

A number of new interfaces for altivec.h (as mandated by the ABI):
vector float vec_cpsgn(vector float, vector float)
vector double vec_cpsgn(vector double, vector double)
vector double vec_or(vector bool long long, vector double)
vector double vec_or(vector double, vector bool long long)
vector double vec_re(vector double)
vector signed char vec_cntlz(vector signed char)
vector unsigned char vec_cntlz(vector unsigned char)
vector short vec_cntlz(vector short)
vector unsigned short vec_cntlz(vector unsigned short)
vector int vec_cntlz(vector int)
vector unsigned int vec_cntlz(vector unsigned int)
vector signed long long vec_cntlz(vector signed long long)
vector unsigned long long vec_cntlz(vector unsigned long long)
vector signed char vec_nand(vector bool signed char, vector signed char)
vector signed char vec_nand(vector signed char, vector bool signed char)
vector signed char vec_nand(vector signed char, vector signed char)
vector unsigned char vec_nand(vector bool unsigned char, vector unsigned char)
vector unsigned char vec_nand(vector unsigned char, vector bool unsigned char)
vector unsigned char vec_nand(vector unsigned char, vector unsigned char)
vector short vec_nand(vector bool short, vector short)
vector short vec_nand(vector short, vector bool short)
vector short vec_nand(vector short, vector short)
vector unsigned short vec_nand(vector bool unsigned short, vector unsigned short)
vector unsigned short vec_nand(vector unsigned short, vector bool unsigned short)
vector unsigned short vec_nand(vector unsigned short, vector unsigned short)
vector int vec_nand(vector bool int, vector int)
vector int vec_nand(vector int, vector bool int)
vector int vec_nand(vector int, vector int)
vector unsigned int vec_nand(vector bool unsigned int, vector unsigned int)
vector unsigned int vec_nand(vector unsigned int, vector bool unsigned int)
vector unsigned int vec_nand(vector unsigned int, vector unsigned int)
vector signed long long vec_nand(vector bool long long, vector signed long long)
vector signed long long vec_nand(vector signed long long, vector bool long long)
vector signed long long vec_nand(vector signed long long, vector signed long long)
vector unsigned long long vec_nand(vector bool long long, vector unsigned long long)
vector unsigned long long vec_nand(vector unsigned long long, vector bool long long)
vector unsigned long long vec_nand(vector unsigned long long, vector unsigned long long)
vector signed char vec_orc(vector bool signed char, vector signed char)
vector signed char vec_orc(vector signed char, vector bool signed char)
vector signed char vec_orc(vector signed char, vector signed char)
vector unsigned char vec_orc(vector bool unsigned char, vector unsigned char)
vector unsigned char vec_orc(vector unsigned char, vector bool unsigned char)
vector unsigned char vec_orc(vector unsigned char, vector unsigned char)
vector short vec_orc(vector bool short, vector short)
vector short vec_orc(vector short, vector bool short)
vector short vec_orc(vector short, vector short)
vector unsigned short vec_orc(vector bool unsigned short, vector unsigned short)
vector unsigned short vec_orc(vector unsigned short, vector bool unsigned short)
vector unsigned short vec_orc(vector unsigned short, vector unsigned short)
vector int vec_orc(vector bool int, vector int)
vector int vec_orc(vector int, vector bool int)
vector int vec_orc(vector int, vector int)
vector unsigned int vec_orc(vector bool unsigned int, vector unsigned int)
vector unsigned int vec_orc(vector unsigned int, vector bool unsigned int)
vector unsigned int vec_orc(vector unsigned int, vector unsigned int)
vector signed long long vec_orc(vector bool long long, vector signed long long)
vector signed long long vec_orc(vector signed long long, vector bool long long)
vector signed long long vec_orc(vector signed long long, vector signed long long)
vector unsigned long long vec_orc(vector bool long long, vector unsigned long long)
vector unsigned long long vec_orc(vector unsigned long long, vector bool long long)
vector unsigned long long vec_orc(vector unsigned long long, vector unsigned long long)
vector signed char vec_div(vector signed char, vector signed char)
vector unsigned char vec_div(vector unsigned char, vector unsigned char)
vector signed short vec_div(vector signed short, vector signed short)
vector unsigned short vec_div(vector unsigned short, vector unsigned short)
vector signed int vec_div(vector signed int, vector signed int)
vector unsigned int vec_div(vector unsigned int, vector unsigned int)
vector signed long long vec_div(vector signed long long, vector signed long long)
vector unsigned long long vec_div(vector unsigned long long, vector unsigned long long)
vector unsigned char vec_mul(vector unsigned char, vector unsigned char)
vector unsigned int vec_mul(vector unsigned int, vector unsigned int)
vector unsigned long long vec_mul(vector unsigned long long, vector unsigned long long)
vector unsigned short vec_mul(vector unsigned short, vector unsigned short)
vector signed char vec_mul(vector signed char, vector signed char)
vector signed int vec_mul(vector signed int, vector signed int)
vector signed long long vec_mul(vector signed long long, vector signed long long)
vector signed short vec_mul(vector signed short, vector signed short)
vector signed long long vec_mergeh(vector signed long long, vector signed long long)
vector signed long long vec_mergeh(vector signed long long, vector bool long long)
vector signed long long vec_mergeh(vector bool long long, vector signed long long)
vector unsigned long long vec_mergeh(vector unsigned long long, vector unsigned long long)
vector unsigned long long vec_mergeh(vector unsigned long long, vector bool long long)
vector unsigned long long vec_mergeh(vector bool long long, vector unsigned long long)
vector double vec_mergeh(vector double, vector double)
vector double vec_mergeh(vector double, vector bool long long)
vector double vec_mergeh(vector bool long long, vector double)
vector signed long long vec_mergel(vector signed long long, vector signed long long)
vector signed long long vec_mergel(vector signed long long, vector bool long long)
vector signed long long vec_mergel(vector bool long long, vector signed long long)
vector unsigned long long vec_mergel(vector unsigned long long, vector unsigned long long)
vector unsigned long long vec_mergel(vector unsigned long long, vector bool long long)
vector unsigned long long vec_mergel(vector bool long long, vector unsigned long long)
vector double vec_mergel(vector double, vector double)
vector double vec_mergel(vector double, vector bool long long)
vector double vec_mergel(vector bool long long, vector double)
vector signed int vec_pack(vector signed long long, vector signed long long)
vector unsigned int vec_pack(vector unsigned long long, vector unsigned long long)
vector bool int vec_pack(vector bool long long, vector bool long long)

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

9 years agoRely on default zero-arg value for IRBuilder::CreateCall calls to zero-arg functions
David Blaikie [Tue, 14 Jul 2015 17:27:39 +0000 (17:27 +0000)]
Rely on default zero-arg value for IRBuilder::CreateCall calls to zero-arg functions

Patch by servuswiegehtz at yahoo.de

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

9 years agoAST Matchers: pass ast_type_traits::DynTypedNode by const-ref
Hans Wennborg [Tue, 14 Jul 2015 16:50:14 +0000 (16:50 +0000)]
AST Matchers: pass ast_type_traits::DynTypedNode by const-ref

(Broken out from http://reviews.llvm.org/D11168)

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

9 years agoPull trivial SanitizerSet methods into the header.
Benjamin Kramer [Tue, 14 Jul 2015 15:34:19 +0000 (15:34 +0000)]
Pull trivial SanitizerSet methods into the header.

Inlining them is always preferable to a call. NFC.

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

9 years agoSupport mingw-w64 toolchain on openSUSE and likely other Linuxes
Yaron Keren [Tue, 14 Jul 2015 15:02:09 +0000 (15:02 +0000)]
Support mingw-w64 toolchain on openSUSE and likely other Linuxes

Thanks to Ismail Donmez for testing and to Joerg Sonnenbergerþ for his comments.

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

9 years ago[x86] add 2 bit to ObjCOrBuiltinID and new intrinsics
Asaf Badouh [Tue, 14 Jul 2015 14:02:45 +0000 (14:02 +0000)]
[x86] add 2 bit to ObjCOrBuiltinID and new intrinsics

add 2 bit to ObjCOrBuiltinID (changed from 11bits to 13bits), see discussion in
Add new intrinsics support that already covered by the BE.
All the intrinsics are covered by tests

Differential Revision: http://reviews.llvm.org/D10893

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

9 years ago[Analyzer] Move FindSuperCallVisitor into an anonymous namespace.
Benjamin Kramer [Tue, 14 Jul 2015 12:37:59 +0000 (12:37 +0000)]
[Analyzer] Move FindSuperCallVisitor into an anonymous namespace.

No functionality change.

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

9 years agoclang-format: Fix formatting of multiple lambdas in initializers.
Daniel Jasper [Tue, 14 Jul 2015 11:26:14 +0000 (11:26 +0000)]
clang-format: Fix formatting of multiple lambdas in initializers.

Before:
  SomeFunction({[&] {
    // comment
  },
                [&] {
                  // comment
                }});

After:
  SomeFunction({[&] {
                  // comment
                },
                [&] {
                  // comment
                }});

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

9 years ago[OPENMP] Drop type qualifiers from private variables.
Alexey Bataev [Tue, 14 Jul 2015 10:32:29 +0000 (10:32 +0000)]
[OPENMP] Drop type qualifiers from private variables.

If the variable is marked as private in OpenMP construct, the reference to this variable should not keep type qualifiers for the original variable. Private copy is not volatile or constant, so we can use unqualified type for private copy.

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

9 years agoClasses inside lambdas are local not nested.
Serge Pavlov [Tue, 14 Jul 2015 10:02:10 +0000 (10:02 +0000)]
Classes inside lambdas are local not nested.

If a lambda used as default argument in a method declaration contained
a local class, that class was incorrectly recognized as nested class.
In this case compiler tried to postpone parsing of this class until
the enclosing class is finished, which caused crashes in some cases.

This change fixes PR13987.

Differential Revision: http://reviews.llvm.org/D11006

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

9 years agoTweak clang/test/PCH/chain-openmp-threadprivate.cpp to satisfy i686-win32.
NAKAMURA Takumi [Tue, 14 Jul 2015 09:45:28 +0000 (09:45 +0000)]
Tweak clang/test/PCH/chain-openmp-threadprivate.cpp to satisfy i686-win32.

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

9 years agoFix for clang memcpyizer bugs 23911 and 23924 (patch by Denis Zobnin)
Alexey Bataev [Tue, 14 Jul 2015 07:55:48 +0000 (07:55 +0000)]
Fix for clang memcpyizer bugs 23911 and 23924 (patch by Denis Zobnin)

The fix is to remove duplicate copy-initialization of the only memcpy-able struct member and to correct the address of aggregately initialized members in destructors' calls during stack unwinding (in order to obtain address of struct member by using GEP instead of 'bitcast').
Differential Revision: http://reviews.llvm.org/D10990

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

9 years agoFix test for Visual C++ link.exe.
Yaron Keren [Tue, 14 Jul 2015 06:01:14 +0000 (06:01 +0000)]
Fix test for Visual C++ link.exe.

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

9 years agoFix test for Visual C++.
Yaron Keren [Tue, 14 Jul 2015 05:58:56 +0000 (05:58 +0000)]
Fix test for Visual C++.

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

9 years agoAdd support for -fuse-ld= in the mingw toolchain driver.
Yaron Keren [Tue, 14 Jul 2015 05:23:34 +0000 (05:23 +0000)]
Add support for -fuse-ld= in the mingw toolchain driver.
We will still default to ld until such a time lld become a
stable release. lld supports arm NT under the machine name "thumb2pe".

http://reviews.llvm.org/D11088

Patch by Martell Malone
Reviewed by Reid Kleckner

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

9 years agoMark clang/test/PCH/chain-openmp-threadprivate.cpp as REQUIRES:tls.
NAKAMURA Takumi [Tue, 14 Jul 2015 04:00:18 +0000 (04:00 +0000)]
Mark clang/test/PCH/chain-openmp-threadprivate.cpp as REQUIRES:tls.

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