]> granicus.if.org Git - clang/log
clang
7 years ago[Hexagon] Attempt to fix selfhost bots
Krzysztof Parzyszek [Fri, 21 Jul 2017 21:23:05 +0000 (21:23 +0000)]
[Hexagon] Attempt to fix selfhost bots

The codegen testcase was checking for specific value names. Make it
ignore the names instead as they are irrelevant.

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

7 years agoFix tblgen error
Richard Trieu [Fri, 21 Jul 2017 20:32:22 +0000 (20:32 +0000)]
Fix tblgen error

Add Heading string to attribute documentation.

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

7 years ago[OPENMP] Fix build problem, NFC.
Alexey Bataev [Fri, 21 Jul 2017 19:26:22 +0000 (19:26 +0000)]
[OPENMP] Fix build problem, NFC.

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

7 years ago[OPENMP] Add ast-print tests for in_reduction clause, NFC.
Alexey Bataev [Fri, 21 Jul 2017 18:55:46 +0000 (18:55 +0000)]
[OPENMP] Add ast-print tests for in_reduction clause, NFC.

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

7 years agoComplex Long Double classification In RegCall calling convention
Erich Keane [Fri, 21 Jul 2017 18:50:36 +0000 (18:50 +0000)]
Complex Long Double classification In RegCall calling convention

This change is part of the RegCall calling convention support for LLVM.
Existing RegCall implementation was extended to include correct handling of
Complex Long Double type. Complex long double types should be returned/passed
in memory and not register stack. This patch implements this behavior.

Patch by: eandrews

Differential Revision: https://reviews.llvm.org/D35259

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

7 years ago[OPENMP] Initial support for 'in_reduction' clause.
Alexey Bataev [Fri, 21 Jul 2017 18:48:21 +0000 (18:48 +0000)]
[OPENMP] Initial support for 'in_reduction' clause.

Parsing/sema analysis for 'in_reduction' clause for task-based
directives.

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

7 years ago[Hexagon] Add inline-asm constraint 'a' for modifier register class
Krzysztof Parzyszek [Fri, 21 Jul 2017 18:07:15 +0000 (18:07 +0000)]
[Hexagon] Add inline-asm constraint 'a' for modifier register class

For example
  asm ("memw(%0++%1) = %2" : : "r"(addr),"a"(mod),"r"(val) : "memory")

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

7 years ago[OPENMP] Simplify analysis of data-sharing attributes.
Alexey Bataev [Fri, 21 Jul 2017 17:24:30 +0000 (17:24 +0000)]
[OPENMP] Simplify analysis of data-sharing attributes.

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

7 years agoTest commit
Andrey Kasaurov [Fri, 21 Jul 2017 15:24:37 +0000 (15:24 +0000)]
Test commit

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

7 years agoTest commit
Nikolay Haustov [Fri, 21 Jul 2017 13:58:11 +0000 (13:58 +0000)]
Test commit

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

7 years ago[clang-diff] Get rid of unused variable warnings in ASTDiff.cpp
Alex Lorenz [Fri, 21 Jul 2017 13:18:51 +0000 (13:18 +0000)]
[clang-diff] Get rid of unused variable warnings in ASTDiff.cpp

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

7 years agoClang's tests should depend on clang-diff
Alex Lorenz [Fri, 21 Jul 2017 13:12:01 +0000 (13:12 +0000)]
Clang's tests should depend on clang-diff

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

7 years agoFix another compiler error from r308731
Alex Lorenz [Fri, 21 Jul 2017 13:04:57 +0000 (13:04 +0000)]
Fix another compiler error from r308731

std::pair in emplace back couldn't be constructed because SNodeId has an
explicit constructor. Not sure how this even compiled on my machine before.

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

7 years agoFix tuple construction compiler error from r308731
Alex Lorenz [Fri, 21 Jul 2017 12:57:40 +0000 (12:57 +0000)]
Fix tuple construction compiler error from r308731

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

7 years ago[clang-diff] Add initial implementation
Alex Lorenz [Fri, 21 Jul 2017 12:49:28 +0000 (12:49 +0000)]
[clang-diff] Add initial implementation

This is the first commit for the "Clang-based C/C++ diff tool" GSoC project.

ASTDiff is a new library that computes a structural AST diff between two ASTs
using the gumtree algorithm. Clang-diff is a new Clang tool that will show
the structural code changes between different ASTs.

Patch by Johannes Altmanninger!

Differential Revision: https://reviews.llvm.org/D34329

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

7 years ago[clang-format] Fix comment levels between '}' and PPDirective
Krasimir Georgiev [Fri, 21 Jul 2017 10:26:13 +0000 (10:26 +0000)]
[clang-format] Fix comment levels between '}' and PPDirective

Summary:
This fixes a regression exposed by r307795 in which the level of a comment line
between '}' and a preprocessor directive is incorrectly set as the level of the
line before the '}'. In effect, this:
```
int f(int i) {
  int j = i;
  return i + j;
}
// comment

#ifdef A
#endif
```
was formatted as:
```
int f(int i) {
  int j = i;
  return i + j;
}
  // comment

#ifdef A
#endif
```

Reviewers: djasper

Reviewed By: djasper

Subscribers: cfe-commits, klimek

Differential Revision: https://reviews.llvm.org/D35485

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

7 years agoFixed failing assert in code completion.
Ilya Biryukov [Fri, 21 Jul 2017 09:24:00 +0000 (09:24 +0000)]
Fixed failing assert in code completion.

Summary:
The code was accessing uninstantiated default argument.
This resulted in failing assertion at ParmVarDecl::getDefaultArg().

Reviewers: erikjv, klimek, bkramer, krasimir

Reviewed By: krasimir

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D35682

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

7 years ago[mips] Add `short_call` to the set of `long_call/far/near` attributes
Simon Atanasyan [Fri, 21 Jul 2017 08:10:57 +0000 (08:10 +0000)]
[mips] Add `short_call` to the set of `long_call/far/near` attributes

MIPS gcc supports `long_call/far/near` attributes only, but other
targets have the `short_call` attribut, so let's support it for MIPS
for consistency.

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

7 years agoFix tblgen error.
Richard Trieu [Fri, 21 Jul 2017 04:56:48 +0000 (04:56 +0000)]
Fix tblgen error.

tblgen couldn't determing a unique name between "long_call" and "far", so it
errored out when generating documentation.  Copy the documentation, and give
an explicit header for "long_call".

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

7 years ago[Driver] Consider -fno-sanitize=... state when filtering out -fsanitize-coverage=...
Petr Hosek [Fri, 21 Jul 2017 01:17:49 +0000 (01:17 +0000)]
[Driver] Consider -fno-sanitize=... state when filtering out -fsanitize-coverage=...

The driver ignores -fsanitize-coverage=... flags when also given
-fsanitize=... flags for sanitizer flavors that don't support the
coverage runtime. This logic failed to account for subsequent
-fno-sanitize=... flags that disable the sanitizer flavors that
conflict with -fsanitize-coverage=... flags.

Patch by Roland McGrath

Differential Revision: https://reviews.llvm.org/D35603

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

7 years ago[CMake] Use ABI version 2 for C++ library in Fuchsia
Petr Hosek [Fri, 21 Jul 2017 00:59:38 +0000 (00:59 +0000)]
[CMake] Use ABI version 2 for C++ library in Fuchsia

Fuchsia has always been using ABI version 2 but I forgot this option
when setting up the cache file for runtimes build.

Differential Revision: https://reviews.llvm.org/D35705

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

7 years ago[clang-format] Put '/**' and '*/' on own lines in multiline jsdocs
Krasimir Georgiev [Thu, 20 Jul 2017 22:29:39 +0000 (22:29 +0000)]
[clang-format] Put '/**' and '*/' on own lines in multiline jsdocs

Reviewers: mprobst

Reviewed By: mprobst

Subscribers: cfe-commits, klimek

Differential Revision: https://reviews.llvm.org/D35683

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

7 years ago[mips] Add support for -m(no-)local-sdata
Simon Dardis [Thu, 20 Jul 2017 22:23:21 +0000 (22:23 +0000)]
[mips] Add support for -m(no-)local-sdata

Teach the driver to support -mlocal-sdata. The backend already matches GCC's
default behaviour.

Reviewers: atanasyan, slthakur

Differential Revision: https://reviews.llvm.org/D35549

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

7 years ago[NVPTX] Add lowering of i128 params.
Artem Belevich [Thu, 20 Jul 2017 21:16:03 +0000 (21:16 +0000)]
[NVPTX] Add lowering of i128 params.

The patch adds support of i128 params lowering. The changes are quite trivial to
support i128 as a "special case" of integer type. With this patch, we lower i128
params the same way as aggregates of size 16 bytes: .param .b8 _ [16].

Currently, NVPTX can't deal with the 128 bit integers:
* in some cases because of failed assertions like
  ValVTs.size() == OutVals.size() && "Bad return value decomposition"
* in other cases emitting PTX with .i128 or .u128 types (which are not valid [1])
  [1] http://docs.nvidia.com/cuda/parallel-thread-execution/index.html#fundamental-types

Differential Revision: https://reviews.llvm.org/D34555
Patch by: Denys Zariaiev (denys.zariaiev@gmail.com)

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

7 years ago[CodeGen][mips] Support `long_call/far/near` attributes
Simon Atanasyan [Thu, 20 Jul 2017 20:34:18 +0000 (20:34 +0000)]
[CodeGen][mips] Support `long_call/far/near` attributes

This patch adds support for the `long_call`, `far`, and `near` attributes
for MIPS targets. The `long_call` and `far` attributes are synonyms. All
these attributes override `-mlong-calls` / `-mno-long-calls` command
line options for particular function.

Differential revision: https://reviews.llvm.org/D35479

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

7 years ago[clang] Fix handling of "%zd" in scanf
Alexander Shaposhnikov [Thu, 20 Jul 2017 20:11:47 +0000 (20:11 +0000)]
[clang] Fix handling of "%zd" in scanf

This diff addresses FIXMEs in lib/Analysis/ScanfFormatString.cpp
for the case of ssize_t format specifier and adds tests.
In particular, this change enables Clang to emit a warning
on incorrect using of "%zd"/"%zn".

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D35652

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

7 years ago[Docs] Regenerate the command line option reference.
Craig Topper [Thu, 20 Jul 2017 17:52:48 +0000 (17:52 +0000)]
[Docs] Regenerate the command line option reference.

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

7 years ago[OPENMP] Fix DSA processing for member declaration.
Alexey Bataev [Thu, 20 Jul 2017 16:47:47 +0000 (16:47 +0000)]
[OPENMP] Fix DSA processing for member declaration.

If the member declaration is captured in the OMPCapturedExprDecl, we may
loose data-sharing attribute info for this declaration. Patch fixes this
bug.

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

7 years agoReland "[mips] Teach the driver to accept -m(no-)gpopt."
Simon Dardis [Thu, 20 Jul 2017 14:04:12 +0000 (14:04 +0000)]
Reland "[mips] Teach the driver to accept -m(no-)gpopt."

This patch teaches the driver to pass -mgpopt by default to the backend when it
is supported, i.e. we are using -mno-abicalls.

Reviewers: atanasyan, slthakur

Differential Revision: https://reviews.llvm.org/D35548

This version fixes a logic error that generated warnings incorrectly and
gets rid of spurious arguments to the backend when -mgpopt is not used.

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

7 years ago[vfs] Assert that the status is known in equivalent().
Benjamin Kramer [Thu, 20 Jul 2017 11:57:02 +0000 (11:57 +0000)]
[vfs] Assert that the status is known in equivalent().

Otherwise we'd silently compare uninitialized data.

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

7 years agoclang/module.modulemap: Clang_Diagnostics: Activate "Sema/SemaDiagnostic.h".
NAKAMURA Takumi [Thu, 20 Jul 2017 07:51:47 +0000 (07:51 +0000)]
clang/module.modulemap: Clang_Diagnostics: Activate "Sema/SemaDiagnostic.h".

It seems issues were resolved.

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

7 years agoRevert "[StaticAnalyzer] Completely unrolling specific loops with known bound option"
Peter Szecsi [Thu, 20 Jul 2017 07:35:11 +0000 (07:35 +0000)]
Revert "[StaticAnalyzer] Completely unrolling specific loops with known bound option"

Revert r308561 and r308558.

Clang-ppc64be-linux seems to crash while running the test cases.

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

7 years agoclang/module.modulemap: Split out Clang_RewriteFrontend from Clang_Rewrite.
NAKAMURA Takumi [Thu, 20 Jul 2017 06:08:53 +0000 (06:08 +0000)]
clang/module.modulemap: Split out Clang_RewriteFrontend from Clang_Rewrite.

FIXME: Both Rewrite(Core) and RewriteFrontend don't cover just under clang/Rewrite. There's no file, though.

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

7 years ago[AArch64] Produce correct defaultlib directives for windows in MSVC style
Martin Storsjo [Thu, 20 Jul 2017 05:47:06 +0000 (05:47 +0000)]
[AArch64] Produce correct defaultlib directives for windows in MSVC style

Differential Revision: https://reviews.llvm.org/D35546

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

7 years ago[NFC] Update local variable names to upper-case as per LLVM Coding Standards.
Faisal Vali [Thu, 20 Jul 2017 01:10:56 +0000 (01:10 +0000)]
[NFC] Update local variable names to upper-case as per LLVM Coding Standards.

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

7 years ago[StaticAnalyzer] Completely unrolling specific loops with known bound option
Peter Szecsi [Thu, 20 Jul 2017 00:05:25 +0000 (00:05 +0000)]
[StaticAnalyzer] Completely unrolling specific loops with known bound option

Missing files added to rL308558.

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

7 years agoThis feature allows the analyzer to consider loops to completely unroll. New
Peter Szecsi [Wed, 19 Jul 2017 23:50:00 +0000 (23:50 +0000)]
This feature allows the analyzer to consider loops to completely unroll. New
requirements/rules (for unrolling) can be added easily via ASTMatchers.

The current implementation is hidden behind a flag.

Right now the blocks which belong to an unrolled loop are marked by the
LoopVisitor which adds them to the ProgramState. Then whenever we encounter a
CFGBlock in the processCFGBlockEntrance which is marked then we skip its
investigating. That means, it won't be considered to be visited more than the
maximal bound for visiting since it won't be checked.

Differential Revision: https://reviews.llvm.org/D34260

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

7 years ago[X86] Put avx512vpopcntdq in the right spot in the validateCpuSupports string switch.
Craig Topper [Wed, 19 Jul 2017 22:58:58 +0000 (22:58 +0000)]
[X86] Put avx512vpopcntdq in the right spot in the validateCpuSupports string switch.

The validateCpuSupports switch is in the order of the enum defined in CGBuiltin.cpp and libgcc/compiler-rt.

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

7 years agoImprove SEMA for attribute-target
Erich Keane [Wed, 19 Jul 2017 22:06:33 +0000 (22:06 +0000)]
Improve SEMA for attribute-target

Add more diagnosis for the non-multiversioning case.

Differential Revision: https://reviews.llvm.org/D35573

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

7 years agoAdd isValidCPUName and isValidFeature to TargetInfo
Erich Keane [Wed, 19 Jul 2017 21:50:08 +0000 (21:50 +0000)]
Add isValidCPUName and isValidFeature to TargetInfo

These two functions are really useful for implementations of attributes
(including attribute-target), so add the functionality.

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

7 years agoAdd AlignedAllocation.h.
Akira Hatanaka [Wed, 19 Jul 2017 17:26:42 +0000 (17:26 +0000)]
Add AlignedAllocation.h.

I forgot to "git add" it in r308496.

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

7 years ago[Sema] Improve diagnostic message for unavailable C++17 aligned
Akira Hatanaka [Wed, 19 Jul 2017 17:17:50 +0000 (17:17 +0000)]
[Sema] Improve diagnostic message for unavailable C++17 aligned
allocation functions.

This changes the error message Sema prints when an unavailable C++17
aligned allocation function is selected.

Original message: "... possibly unavailable on x86_64-apple-macos10.12"
New message: "... only available on macOS 10.13 or newer"

This is a follow-up to r306722.

rdar://problem/32664169

Differential Revision: https://reviews.llvm.org/D35520

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

7 years agoClear release notes for 6.0.0
Hans Wennborg [Wed, 19 Jul 2017 14:14:07 +0000 (14:14 +0000)]
Clear release notes for 6.0.0

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

7 years agoBump docs version to 6.0
Hans Wennborg [Wed, 19 Jul 2017 13:50:27 +0000 (13:50 +0000)]
Bump docs version to 6.0

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

7 years agoRevert "Reland "[mips] Teach the driver to accept -m(no-)gpopt.""
Simon Dardis [Wed, 19 Jul 2017 13:34:08 +0000 (13:34 +0000)]
Revert "Reland "[mips] Teach the driver to accept -m(no-)gpopt.""

This reverts r308458. Investigating further buildbot breakage.

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

7 years agoReland "[mips] Teach the driver to accept -m(no-)gpopt."
Simon Dardis [Wed, 19 Jul 2017 13:12:37 +0000 (13:12 +0000)]
Reland "[mips] Teach the driver to accept -m(no-)gpopt."

This patch teaches the driver to pass -mgpopt by default to the backend when it
is supported, i.e. we are using -mno-abicalls.

Reviewers: atanasyan, slthakur

Differential Revision: https://reviews.llvm.org/D35548

This version fixes a logic error that generated warnings incorrectly.

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

7 years agoRevert r308441 "Recommit r308327: Add a warning for missing '#pragma pack (pop)'...
Hans Wennborg [Wed, 19 Jul 2017 12:31:01 +0000 (12:31 +0000)]
Revert r308441 "Recommit r308327: Add a warning for missing '#pragma pack (pop)' and suspicious uses of '#pragma pack' in included files"

This seems to have broken the sanitizer-x86_64-linux buildbot. Reverting until
it's fixed, especially since this landed just before the 5.0 branch.

> This commit adds a new -Wpragma-pack warning. It warns in the following cases:
>
> - When a translation unit is missing terminating #pragma pack (pop) directives.
> - When entering an included file if the current alignment value as determined
>   by '#pragma pack' directives is different from the default alignment value.
> - When leaving an included file that changed the state of the current alignment
>   value.
>
> rdar://10184173
>
> Differential Revision: https://reviews.llvm.org/D35484

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

7 years agoRecommit r308327: Add a warning for missing '#pragma pack (pop)'
Alex Lorenz [Wed, 19 Jul 2017 11:30:41 +0000 (11:30 +0000)]
Recommit r308327: Add a warning for missing '#pragma pack (pop)'
and suspicious uses of '#pragma pack' in included files

This commit adds a new -Wpragma-pack warning. It warns in the following cases:

- When a translation unit is missing terminating #pragma pack (pop) directives.
- When entering an included file if the current alignment value as determined
  by '#pragma pack' directives is different from the default alignment value.
- When leaving an included file that changed the state of the current alignment
  value.

rdar://10184173

Differential Revision: https://reviews.llvm.org/D35484

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

7 years agoFix compilation problem introduced in r308433
Erik Verbruggen [Wed, 19 Jul 2017 11:15:36 +0000 (11:15 +0000)]
Fix compilation problem introduced in r308433

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

7 years agoRevert "[mips] Teach the driver to accept -m(no-)gpopt."
Simon Dardis [Wed, 19 Jul 2017 11:11:02 +0000 (11:11 +0000)]
Revert "[mips] Teach the driver to accept -m(no-)gpopt."

Revert r308431 and r308432, these caused broke some buildbots.

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

7 years agoAdd default values for function parameter chunks
Erik Verbruggen [Wed, 19 Jul 2017 10:45:40 +0000 (10:45 +0000)]
Add default values for function parameter chunks

Append optional chunks with their default values. For example:
before - "int i", after - "int i = 10"

Patch by Ivan Donchevskii!

Differential Revision: https://reviews.llvm.org/D33644

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

7 years ago[mips] Add warning test for -mgpopt option.
Simon Dardis [Wed, 19 Jul 2017 10:39:15 +0000 (10:39 +0000)]
[mips] Add warning test for -mgpopt option.

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

7 years ago[mips] Teach the driver to accept -m(no-)gpopt.
Simon Dardis [Wed, 19 Jul 2017 10:38:03 +0000 (10:38 +0000)]
[mips] Teach the driver to accept -m(no-)gpopt.

This patch teaches the driver to pass -mgpopt by default to the backend when it
is supported, i.e. we are using -mno-abicalls.

Reviewers: atanasyan, slthakur

Differential Revision: https://reviews.llvm.org/D35548

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

7 years agoUpdate clang-cl options in the users manual
Hans Wennborg [Wed, 19 Jul 2017 09:52:24 +0000 (09:52 +0000)]
Update clang-cl options in the users manual

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

7 years ago[analyzer] Add annotation attribute to trust retain count implementation
Devin Coughlin [Wed, 19 Jul 2017 04:10:44 +0000 (04:10 +0000)]
[analyzer] Add annotation attribute to trust retain count implementation

Add support to the retain-count checker for an annotation indicating that a
function's implementation should be trusted by the retain count checker.
Functions with these attributes will not be inlined and the arguments will
be treating as escaping.

Adding this annotation avoids spurious diagnostics when the implementation of
a reference counting operation is visible but the analyzer can't reason
precisely about the ref count.

Patch by Malhar Thakkar!

Differential Revision: https://reviews.llvm.org/D34937

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

7 years ago[CMake] Build runtimes for Fuchsia targets
Petr Hosek [Wed, 19 Jul 2017 02:57:47 +0000 (02:57 +0000)]
[CMake] Build runtimes for Fuchsia targets

This relies on the multi-target runtimes build support.

Differential Revision: https://reviews.llvm.org/D32817

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

7 years ago[scan-build-py] Patch to fix "-analyzer-config" option
Petr Hosek [Wed, 19 Jul 2017 00:29:41 +0000 (00:29 +0000)]
[scan-build-py] Patch to fix "-analyzer-config" option

I noticed that when I use "-analyze-config" option in scan-build-py, it
behaves differently from original perl based scan-build.

For example, command:

$ scan-build -analyzer-config ipa=basic-inlining make

Will work without any issues on perl version of scan-build. But on
scan-build-py it will throw an error message "error reading
'ipa=basic-inlining'".

After debugging, it turns out that the scan-build-py does not put
"-analyzer-config" flag in front of the analyzer config flags (in this
case is the "ipa=basic-inlining") in the final clang command line. This
patch fixes this issue.

Patch by Haowei Wu

Differential Revision: https://reviews.llvm.org/D34489

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

7 years agoUpdate for LLVM IR metadata changes (DIImportedEntity now needs a DIFile).
Adrian Prantl [Wed, 19 Jul 2017 00:09:58 +0000 (00:09 +0000)]
Update for LLVM IR metadata changes (DIImportedEntity now needs a DIFile).

<rdar://problem/33357889>
https://bugs.llvm.org/show_bug.cgi?id=33822

Differential Revision: https://reviews.llvm.org/D35583

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

7 years agoDebug Info: Set the MainFileName when generating -gmodules debug info for PCM.
Adrian Prantl [Tue, 18 Jul 2017 23:58:34 +0000 (23:58 +0000)]
Debug Info: Set the MainFileName when generating -gmodules debug info for PCM.

Previously it was uninitialized and thus always defaulted to "<stdin>".
This is mostly a cosmetic change that helps making the debug info more readable.

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

7 years ago[Driver] Always use -z rodynamic for Fuchsia
Petr Hosek [Tue, 18 Jul 2017 23:23:16 +0000 (23:23 +0000)]
[Driver] Always use -z rodynamic for Fuchsia

Fuchsia uses read-only .dynamic section.

Differential Revision: https://reviews.llvm.org/D35582

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

7 years agoConvert attribute 'target' parsing from a 'pair' to a 'struct' to make further improv...
Erich Keane [Tue, 18 Jul 2017 20:41:02 +0000 (20:41 +0000)]
Convert attribute 'target' parsing from a 'pair' to a 'struct' to make further improvements easier

Convert attribute 'target' parsing from a 'pair' to a 'struct' to make further
improvements easier

The attribute 'target' parse function previously returned a pair. Convert
this to a 'pair' in order to add more functionality, and improve usability.

Differential Revision: https://reviews.llvm.org/D35574

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

7 years ago[Sema] NFC: Move all availability checking code to SemaDeclAttr.cpp
Erik Pilkington [Tue, 18 Jul 2017 20:32:07 +0000 (20:32 +0000)]
[Sema] NFC: Move all availability checking code to SemaDeclAttr.cpp

Previously, this was awkwardly split up between SemaExpr.cpp.

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

7 years ago[OPENMP] Initial support for 'task_reduction' clause.
Alexey Bataev [Tue, 18 Jul 2017 20:17:46 +0000 (20:17 +0000)]
[OPENMP] Initial support for 'task_reduction' clause.

Parsing/sema analysis of the 'task_reduction' clause.

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

7 years agoAdd GCC's noexcept-type alias for c++1z-compat-mangling
Raphael Isemann [Tue, 18 Jul 2017 18:52:58 +0000 (18:52 +0000)]
Add GCC's noexcept-type alias for c++1z-compat-mangling

Summary: GCC has named this `-Wnoexcept-type`, so let's add an alias to stay compatible with the GCC flags.

Reviewers: rsmith, dexonsmith

Reviewed By: dexonsmith

Subscribers: cfe-commits, karies, v.g.vassilev, ahatanak

Differential Revision: https://reviews.llvm.org/D34439

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

7 years agoDon't set TUScope to null when generating a module in incremental processing mode.
Raphael Isemann [Tue, 18 Jul 2017 18:24:42 +0000 (18:24 +0000)]
Don't set TUScope to null when generating a module in incremental processing mode.

Summary: When in incremental processing mode, we should never set `TUScope` to a nullptr otherwise any future lookups fail. We already have similar checks in the rest of the code, but we never hit this one because so far we didn't try to generate a module from the AST that Cling generates.

Reviewers: rsmith, v.g.vassilev

Reviewed By: v.g.vassilev

Subscribers: cfe-commits, v.g.vassilev

Differential Revision: https://reviews.llvm.org/D35536

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

7 years agoRevert r308327
Alex Lorenz [Tue, 18 Jul 2017 17:36:42 +0000 (17:36 +0000)]
Revert r308327

I forgot to test clang-tools-extra which is now failing.

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

7 years agoAdd a warning for missing '#pragma pack (pop)' and suspicious uses
Alex Lorenz [Tue, 18 Jul 2017 17:23:51 +0000 (17:23 +0000)]
Add a warning for missing '#pragma pack (pop)' and suspicious uses
of '#pragma pack' in included files

This commit adds a new -Wpragma-pack warning. It warns in the following cases:

- When a translation unit is missing terminating #pragma pack (pop) directives.
- When entering an included file if the current alignment value as determined
  by '#pragma pack' directives is different from the default alignment value.
- When leaving an included file that changed the state of the current alignment
  value.

rdar://10184173

Differential Revision: https://reviews.llvm.org/D35484

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

7 years ago[OPENMP] Generalization of sema analysis of reduction-based clauses,
Alexey Bataev [Tue, 18 Jul 2017 15:32:58 +0000 (15:32 +0000)]
[OPENMP] Generalization of sema analysis of reduction-based clauses,
NFC.

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

7 years agoCodeGen: Insert addr space cast for automatic/temp var at right position
Yaxun Liu [Tue, 18 Jul 2017 14:46:03 +0000 (14:46 +0000)]
CodeGen: Insert addr space cast for automatic/temp var at right position

The uses of alloca may be in different blocks other than the block containing the alloca.
Therefore if the alloca addr space is non-zero and it needs to be casted to default
address space, the cast needs to be inserted in the same BB as the alloca insted of
the current builder insert point since the current insert point may be in a different BB.

Differential Revision: https://reviews.llvm.org/D35438

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

7 years agoclang-format: [JS] Correctly format JavaScript imports with long module paths
Martin Probst [Tue, 18 Jul 2017 14:00:19 +0000 (14:00 +0000)]
clang-format: [JS] Correctly format JavaScript imports with long module paths

Currently the `UnwrappedLineParser` fails to correctly unwrap JavaScript
imports where the module path is not on the same line as the `from` keyword.
For example:

    import {A} from
    'some/path/longer/than/column/limit/module.js';```

This causes issues when in the middle a list of imports because the formatter
thinks it has reached the end of the imports, and therefore will not sort any
imports lower in the list.

The formatter will, however, split the `from` keyword and the module path if
the path exceeds the column limit, which triggers the issue the next time the
file is formatted.

Patch originally by Jared Neil - thanks!

Differential Revision: https://reviews.llvm.org/D34920

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

7 years ago[CMake] Move CLANG_ENABLE_(ARCMT|OBJC_REWRITER|STATIC_ANALYZER) into clang/Config...
NAKAMURA Takumi [Tue, 18 Jul 2017 08:55:03 +0000 (08:55 +0000)]
[CMake] Move CLANG_ENABLE_(ARCMT|OBJC_REWRITER|STATIC_ANALYZER) into clang/Config/config.h.

LLVM_ENABLE_MODULES is sensitive of -D. Move them into config.h.

FIXME: It'd be better that they are #cmakedefine01 rather than #cmakedefine.
(#if FOO rather than #if defined(FOO))
Then we can find missing #include "clang/Config/config.h" in the future.

Differential Revision: https://reviews.llvm.org/D35527

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

7 years ago[Index] Prevent canonical decl becoming nullptr
Krasimir Georgiev [Tue, 18 Jul 2017 07:20:53 +0000 (07:20 +0000)]
[Index] Prevent canonical decl becoming nullptr

Summary:
This patch prevents getCanonicalDecl returning nullptr in case it finds
a canonical TemplateDeclaration with no attached TemplatedDecl.
Found by running the indexer over a version of the standard library deep inside
a template metaprogramming mess.

Reviewers: klimek, vsk

Reviewed By: vsk

Subscribers: vsk, arphaman, cfe-commits

Differential Revision: https://reviews.llvm.org/D35212

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

7 years agoAlso add the option -no-pie (like -nopie)
Sylvestre Ledru [Tue, 18 Jul 2017 06:54:54 +0000 (06:54 +0000)]
Also add the option -no-pie (like -nopie)

Summary:
For example, this option is expected by ghc (haskell compiler). Currently, building with ghc will fail with:

```
clang: error: unknown argument: '-no-pie'
`gcc' failed in phase `Linker'. (Exit code: 1)
. /usr/share/haskell-devscripts/Dh_Haskell.sh && \
configure_recipe
```

This won't do anything (but won't fail with an error)

Reviewers: rafael, joerg

Reviewed By: joerg

Subscribers: joerg, cfe-commits

Differential Revision: https://reviews.llvm.org/D35462

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

7 years ago[OpenCL] Added extended tests on metadata generation for half data type and arrays.
Egor Churaev [Tue, 18 Jul 2017 06:04:01 +0000 (06:04 +0000)]
[OpenCL] Added extended tests on metadata generation for half data type and arrays.

Reviewers: Anastasia

Reviewed By: Anastasia

Subscribers: bader, cfe-commits, yaxunl

Differential Revision: https://reviews.llvm.org/D35000

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

7 years ago[OPENMP] Pacify windows buildbots, NFC.
Alexey Bataev [Tue, 18 Jul 2017 00:42:35 +0000 (00:42 +0000)]
[OPENMP] Pacify windows buildbots, NFC.

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

7 years ago[analyzer] Add missing documentation for static analyzer checkers
Devin Coughlin [Tue, 18 Jul 2017 00:34:57 +0000 (00:34 +0000)]
[analyzer] Add missing documentation for static analyzer checkers

Some checks did not have documentation in the www/analyzer/ folder and also
some alpha checks became non-alpha.

Patch by Dominik Szabó!

Differential Revision: https://reviews.llvm.org/D33645

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

7 years ago[COFF, ARM64] Set the data type widths and the data layout string
Mandeep Singh Grang [Mon, 17 Jul 2017 21:10:45 +0000 (21:10 +0000)]
[COFF, ARM64] Set the data type widths and the data layout string

Summary: COFF ARM64 is LLP64 platform. So int is 4 bytes, long is 4 bytes and long long is 8 bytes.

Reviewers: compnerd, ruiu, rnk, efriedma

Reviewed By: compnerd, efriedma

Subscribers: efriedma, javed.absar, cfe-commits, aemerson, llvm-commits, kristof.beyls

Differential Revision: https://reviews.llvm.org/D34859

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

7 years ago[AArch64] Add support for __builtin_ms_va_list on aarch64
Martin Storsjo [Mon, 17 Jul 2017 20:49:45 +0000 (20:49 +0000)]
[AArch64] Add support for __builtin_ms_va_list on aarch64

Move builtins from the x86 specific scope into the global
scope. Their use is still limited to x86_64 and aarch64 though.

This allows wine on aarch64 to properly handle variadic functions.

Differential Revision: https://reviews.llvm.org/D34475

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

7 years agoUpdate use of llvm::CallingConv:X86_64_Win64 after LLVM commit r308208
Martin Storsjo [Mon, 17 Jul 2017 20:05:56 +0000 (20:05 +0000)]
Update use of llvm::CallingConv:X86_64_Win64 after LLVM commit r308208

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

7 years ago[Basic] Detect Git submodule version in CMake
Brian Gesiak [Mon, 17 Jul 2017 19:22:57 +0000 (19:22 +0000)]
[Basic] Detect Git submodule version in CMake

Summary:
When searching for Git version control information, libBasic's CMake
checks for the path '.git/logs/HEAD'. However, when LLVM is included as
a Git submodule, this path does not exist. Instead, it contains a '.git'
file with the following:

```
gitdir: ../../.git/modules/external/llvm
```

Where '../..' is the relative path to the root repository that contains
the LLVM Git submodule.

Because of this discrepancy, `clang --version` does not output source
control information if built from a Git submodule.

To fix, check whether '.git' is a directory or a file. If it's a
directory, simply use the '.git/logs/HEAD' path. If it's a file, read it
and check for the tell-tale sign of a Git submodule: the text "gitdir:".
If it exists, follow that path and use the 'logs/HEAD' at that location
instead. This allows not only the correct revision information to be
retrieved, but also uses a file that will change with each source
control revision.

Test Plan:
1. Before applying this change, build Clang as a Git submodule in a repository
   that places it in external/clang, and confirm no revision information
   is output when `clang --version` is invoked (just "clang 5.0.0" is
   output, no Git hashes).
2. Apply these changes and build Clang as a Git repository nested under
   llvm/tools/clang, and confirm that `clang --version` displays correct
   version information.
3. Apply these changes and build Clang as a Git submodule using the
   structure described in (1), and confirm version control information
   is output as in (2).

Reviewers: jordan_rose, beanz, probinson

Reviewed By: jordan_rose

Subscribers: chapuni, mgorny, cfe-commits

Differential Revision: https://reviews.llvm.org/D34955

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

7 years ago[SystemZ] Add support for IBM z14 processor (3/3)
Ulrich Weigand [Mon, 17 Jul 2017 17:47:35 +0000 (17:47 +0000)]
[SystemZ] Add support for IBM z14 processor (3/3)

This patch updates the vecintrin.h header file to provide the new
set of high-level vector built-in functions.  This matches the
updated definition implemented by other compilers for the platform,
indicated by the pre-defined macro __VEC__ == 10302.

Note that some of the new functions (notably those involving the
vector float data type) are only available with -march=z14
(indicated by __ARCH__ == 12).

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

7 years ago[SystemZ] Add support for IBM z14 processor (2/3)
Ulrich Weigand [Mon, 17 Jul 2017 17:46:47 +0000 (17:46 +0000)]
[SystemZ] Add support for IBM z14 processor (2/3)

This patch extends the -fzvector language feature to enable the new
"vector float" data type when compiling at -march=z14.  This matches
the updated extension definition implemented by other compilers for
the platform, which is indicated to applications by pre-defining
__VEC__ to 10302 (instead of 10301).

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

7 years ago[SystemZ] Add support for IBM z14 processor (1/3)
Ulrich Weigand [Mon, 17 Jul 2017 17:45:57 +0000 (17:45 +0000)]
[SystemZ] Add support for IBM z14 processor (1/3)

This patch series adds support for the IBM z14 processor.  This part includes:
- Basic support for the new processor and its features.
- Support for low-level builtins mapped to new LLVM intrinsics.

Support for the -fzvector extension to vector float and the new
high-level vector intrinsics is provided by separate patches.

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

7 years ago[clang] Remove redundant check-prefix=CHECK from tests. NFC.
Mandeep Singh Grang [Mon, 17 Jul 2017 17:31:44 +0000 (17:31 +0000)]
[clang] Remove redundant check-prefix=CHECK from tests. NFC.

Reviewers: t.p.northover, mstorsjo, rsmith, mcrosier

Reviewed By: mstorsjo, mcrosier

Subscribers: mcrosier, javed.absar, cfe-commits

Differential Revision: https://reviews.llvm.org/D35465

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

7 years ago[NFC] Refactor the Preprocessor function that handles Macro definitions and rename...
Faisal Vali [Mon, 17 Jul 2017 17:18:43 +0000 (17:18 +0000)]
[NFC] Refactor the Preprocessor function that handles Macro definitions and rename Arguments to Parameters in Macro Definitions.
  - Extracted the reading of the tokens out into a separate function.
  - Replace 'Argument' with 'Parameter' when referring to the identifiers of the macro definition (as opposed to the supplied arguments - MacroArgs - during the macro invocation).

This is in preparation for submitting patches for review to implement __VA_OPT__ which will otherwise just keep lengthening the HandleDefineDirective function and making it less comprehensible.

I will also directly update some extra clang tooling that is broken by the change from Argument to Parameter.

Hopefully the bots will stay appeased.

Thanks!

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

7 years agoFix dereference of pointers in throw statements.
Manuel Klimek [Mon, 17 Jul 2017 15:27:53 +0000 (15:27 +0000)]
Fix dereference of pointers in throw statements.

Before:
  throw * x;

After:
  throw *x;

Patch by Erik Uhlmann.

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

7 years ago[OPENMP] Fix reduction combiner test
Alexey Bataev [Mon, 17 Jul 2017 14:53:02 +0000 (14:53 +0000)]
[OPENMP] Fix reduction combiner test

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

7 years ago[OPENMP] Further fixes of the reduction codegen tests
Alexey Bataev [Mon, 17 Jul 2017 14:47:59 +0000 (14:47 +0000)]
[OPENMP] Further fixes of the reduction codegen tests

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

7 years ago[OPENMP] Further test fixes.
Alexey Bataev [Mon, 17 Jul 2017 14:22:34 +0000 (14:22 +0000)]
[OPENMP] Further test fixes.

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

7 years ago[OPENMP] Rework tests to pacify buildbots.
Alexey Bataev [Mon, 17 Jul 2017 14:06:41 +0000 (14:06 +0000)]
[OPENMP] Rework tests to pacify buildbots.

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

7 years ago[OPENMP] Codegen for reduction clauses in 'taskloop' directives.
Alexey Bataev [Mon, 17 Jul 2017 13:30:36 +0000 (13:30 +0000)]
[OPENMP] Codegen for reduction clauses in 'taskloop' directives.

Adds codegen for taskloop-based directives.

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

7 years agoRevert changes from my previous refactoring - will need to fix dependencies in clang...
Faisal Vali [Mon, 17 Jul 2017 02:03:21 +0000 (02:03 +0000)]
Revert changes from my previous refactoring - will need to fix dependencies in clang's extra tooling (such as clang-tidy etc.).

Sorry about that.

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

7 years ago[NFC] Refactor the Preprocessor function that handles Macro definitions and rename...
Faisal Vali [Mon, 17 Jul 2017 01:27:53 +0000 (01:27 +0000)]
[NFC] Refactor the Preprocessor function that handles Macro definitions and rename Arguments to Parameters in Macro Definitions.
  - Extracted the reading of the tokens out into a separate function.
  - Replace 'Argument' with 'Parameter' when referring to the identifiers of the macro definition (as opposed to the supplied arguments - MacroArgs - during the macro invocation).

This is in preparation for submitting patches for review to implement __VA_OPT__ which will otherwise just keep lengthening the HandleDefineDirective function and making it less comprehensible.

Thanks!

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

7 years agoEnable TLS support on OpenBSD.
Brad Smith [Mon, 17 Jul 2017 01:06:46 +0000 (01:06 +0000)]
Enable TLS support on OpenBSD.

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

7 years agoEnable TLS support on OpenBSD, but default to the emulatated TLS model.
Brad Smith [Mon, 17 Jul 2017 00:49:31 +0000 (00:49 +0000)]
Enable TLS support on OpenBSD, but default to the emulatated TLS model.

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

7 years ago[Bash-autocompletion] Add support for -W<warning> and -Wno<warning>
Yuka Takahashi [Sun, 16 Jul 2017 15:07:20 +0000 (15:07 +0000)]
[Bash-autocompletion] Add support for -W<warning> and -Wno<warning>

Summary:
`-W[tab]` will autocomplete warnings defined in this link:
https://clang.llvm.org/docs/DiagnosticsReference.html#wweak-vtables

Differential Revision: https://reviews.llvm.org/D35447

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

7 years ago[c++2a] Add option -std=c++2a to enable support for potential/transitional C++2a...
Faisal Vali [Sun, 16 Jul 2017 00:23:04 +0000 (00:23 +0000)]
[c++2a] Add option -std=c++2a to enable support for potential/transitional C++2a features

- as usual C++2a implies all the C++'s that came before it.

Thank you Aaron for the feedback here: https://reviews.llvm.org/D35454

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

7 years ago[cxx_status] Fix typos.
Richard Smith [Sat, 15 Jul 2017 15:51:59 +0000 (15:51 +0000)]
[cxx_status] Fix typos.

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

7 years ago[cxx_status] Add approved Toronto WG21 motions.
Richard Smith [Sat, 15 Jul 2017 15:42:36 +0000 (15:42 +0000)]
[cxx_status] Add approved Toronto WG21 motions.

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

7 years agoUse ARC parsing rules for ns_returns_retained in MRC so that code can
John McCall [Sat, 15 Jul 2017 11:06:46 +0000 (11:06 +0000)]
Use ARC parsing rules for ns_returns_retained in MRC so that code can
be shared without warnings.  Build AttributedTypes to leave breadcrumbs
for tools like the static analyzer.  Warn about attempting to use the
attribute with incompatible return types.

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