]> granicus.if.org Git - clang/log
clang
9 years agoSema: Avoid a stack overflow on large CFGs
Duncan P. N. Exon Smith [Thu, 23 Jul 2015 20:15:50 +0000 (20:15 +0000)]
Sema: Avoid a stack overflow on large CFGs

Large CFGs cause `checkForFunctionCall()` to overflow its stack.  Break
the recursion by manually managing the call stack instead.

Patch by Vedant Kumar!

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

9 years agoSema: Split out helper from checkForFunctionCall(), NFC
Duncan P. N. Exon Smith [Thu, 23 Jul 2015 20:11:47 +0000 (20:11 +0000)]
Sema: Split out helper from checkForFunctionCall(), NFC

Split out `hasRecursiveCallInPath()` from `checkForFunctionCall()` to
flatten nesting and clarify the code.  This also simplifies a follow-up
patch that refactors the other logic in `checkForFunctionCall()`.

Patch by Vedant Kumar!

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

9 years agoUpdating the documentation for the hasAttr AST matcher, which behaves somewhat differ...
Aaron Ballman [Thu, 23 Jul 2015 17:54:59 +0000 (17:54 +0000)]
Updating the documentation for the hasAttr AST matcher, which behaves somewhat differently when used within clang-query. Fixes PR24217.

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

9 years ago[Compiler-RT] Remove dependency on libgcc_s/eh
Renato Golin [Thu, 23 Jul 2015 17:24:41 +0000 (17:24 +0000)]
[Compiler-RT] Remove dependency on libgcc_s/eh

Currently, for --rtlib=compiler-rt on GNU systems, we're assuming
that one has libgcc_s and libgcc_eh as low-level libraries, which
when used in conjunction with -lunwind or -lc++abi, breaks that
assumption.

My original fix was wrong, and this patch reverts it to prepare for
a new flag to choose the unwinder/C++ libraries. For the time being,
people can use "-lgcc_s -lgcc_eh" or "-lunwind -lc++abi" or any
combination they need explicitly.

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

9 years agoAdd missing files for objc_boxable feature.
Alex Denisov [Thu, 23 Jul 2015 14:45:41 +0000 (14:45 +0000)]
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/trunk@243018 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86][AVX512F] Add FP scalar intrinsics
Asaf Badouh [Thu, 23 Jul 2015 12:13:32 +0000 (12:13 +0000)]
[X86][AVX512F] Add FP scalar intrinsics
intrinsics for: add/sub/mul/div/min/max in their FP scalar versions

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

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

9 years ago[X86][AVX512BW] add madd and maddubs intrinsics
Asaf Badouh [Thu, 23 Jul 2015 07:07:25 +0000 (07:07 +0000)]
[X86][AVX512BW] add madd and maddubs intrinsics

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

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

9 years agoAdd test to verify we emit warning when the deprecated virtual function is overloaded.
Davide Italiano [Thu, 23 Jul 2015 02:54:59 +0000 (02:54 +0000)]
Add test to verify we emit warning when the deprecated virtual function is overloaded.

Suggested by Richard Smith.

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

9 years agoArrayRef-ize a pointer/length pair.
Richard Smith [Thu, 23 Jul 2015 00:53:59 +0000 (00:53 +0000)]
ArrayRef-ize a pointer/length pair.

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

9 years agoDowngrade error about adding 'dllimport' to used free function to warning (PR24215)
Hans Wennborg [Wed, 22 Jul 2015 23:54:51 +0000 (23:54 +0000)]
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/trunk@242973 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoMove EHPersonality to CGCleanup
David Majnemer [Wed, 22 Jul 2015 23:46:21 +0000 (23:46 +0000)]
Move EHPersonality to CGCleanup

This makes it possible to use EHPersonality in other parts of CodeGen.

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

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

9 years ago[MS Compat] Allow _Atomic(Type) and 'struct _Atomic' to coexist
David Majnemer [Wed, 22 Jul 2015 23:46:18 +0000 (23:46 +0000)]
[MS Compat] Allow _Atomic(Type) and 'struct _Atomic' to coexist

MSVC 2013 ships, as part of its STL implementation, a class named
'_Atomic'.  This is unfortunate because this keyword is in conflict with
the C11 keyword with the same name.  Our solution was to disable this
keyword when targeting MSVC 2013 and reenable it for 2015.

However, this makes it impossible for clang's headers to make use of
_Atomic.  This is problematic in the case of libc++ as it makes heavy
use of this keyword.

Let the keywordness of _Atomic float under certain circumstances:
the body of a class named _Atomic, or a class with a base specifier
named _Atomic, will not have the keyword variant of _Atomic for the
duration of the class body.  This is sufficient to allow us to correctly
handle _Atomic in the STL while permitting us to use _Atomic as a
keyword everywhere else.

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

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

9 years agoFix dumb use-after-free bug introduced in r242868.
Richard Smith [Wed, 22 Jul 2015 22:51:15 +0000 (22:51 +0000)]
Fix dumb use-after-free bug introduced in r242868.

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

9 years ago[MSVC Compatibility] Use a better predicate for __BOOL_DEFINED
David Majnemer [Wed, 22 Jul 2015 22:36:26 +0000 (22:36 +0000)]
[MSVC Compatibility] Use a better predicate for __BOOL_DEFINED

Instead of using CPlusPlus, use Bool.  No functionality change is
intended, it just makes things a tad bit more clear.

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

9 years agoFix -Wextra-semi warnings.
Hans Wennborg [Wed, 22 Jul 2015 20:46:26 +0000 (20:46 +0000)]
Fix -Wextra-semi warnings.

Patch by Eugene Zelenko!

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

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

9 years agoSomething was unbalanced, and it wasn't the parentheses. ;-) Reverts r242915.
Aaron Ballman [Wed, 22 Jul 2015 20:02:00 +0000 (20:02 +0000)]
Something was unbalanced, and it wasn't the parentheses. ;-) Reverts r242915.

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

9 years agoBalancing parenthesis in comments and documentation; NFC.
Aaron Ballman [Wed, 22 Jul 2015 17:51:42 +0000 (17:51 +0000)]
Balancing parenthesis in comments and documentation; NFC.

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

9 years agoAdd cygwin x86_64 target.
Yaron Keren [Wed, 22 Jul 2015 17:38:19 +0000 (17:38 +0000)]
Add cygwin x86_64 target.

Patch by Martell Malone!

http://reviews.llvm.org/D11349

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

9 years ago[OpenMP] Make target data directive generate unexpected directive diagnostic.
Samuel Antao [Wed, 22 Jul 2015 16:02:46 +0000 (16:02 +0000)]
[OpenMP] Make target data directive generate unexpected directive diagnostic.

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

9 years ago[mingw] Add support for -rtlib option and -stdlib option to the mingw driver
Reid Kleckner [Wed, 22 Jul 2015 16:01:38 +0000 (16:01 +0000)]
[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/trunk@242905 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoPass -I options to integrates and external assemblers
Renato Golin [Wed, 22 Jul 2015 15:32:36 +0000 (15:32 +0000)]
Pass -I options to integrates and external assemblers

Fixes PR21000.

Patch by Artem Belevich.

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

9 years ago[CONCEPTS] Add diagnostics: non-defining function; non-namespace scope
Hubert Tong [Wed, 22 Jul 2015 13:32:36 +0000 (13:32 +0000)]
[CONCEPTS] Add diagnostics: non-defining function; non-namespace scope

Summary:
Create diagnostic for function concept declaration which is not a
definition.

Create diagnostic for concept declaration which isn't in namespace
scope.

Create associated tests.

Reviewers: rsmith, faisalv, fraggamuffin, hubert.reinterpretcast

Subscribers: cfe-commits

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

Patch by Nathan Wilson!

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

9 years agoStmtOpenMP.h: Fix a couple of \param(s) in r242785. [-Wdocumentation]
NAKAMURA Takumi [Wed, 22 Jul 2015 12:38:10 +0000 (12:38 +0000)]
StmtOpenMP.h: Fix a couple of \param(s) in r242785. [-Wdocumentation]

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

9 years ago[modules] Stop performing PCM lookups for all identifiers when building with C++...
Richard Smith [Wed, 22 Jul 2015 02:08:40 +0000 (02:08 +0000)]
[modules] Stop performing PCM lookups for all identifiers when building with C++ modules. Instead, serialize a list of interesting identifiers and mark those ones out of date on module import. Avoiding the identifier lookups here gives a 20-30% speedup in builds with large numbers of modules. No functionality change intended.

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

9 years ago[modules] Change module manager visitation order to be a bit more stable when
Richard Smith [Wed, 22 Jul 2015 01:28:05 +0000 (01:28 +0000)]
[modules] Change module manager visitation order to be a bit more stable when
more modules are added: visit modules depth-first rather than breadth-first.
The visitation is still (approximately) oldest-to-newest, and still guarantees
that a module is visited before anything it imports, so modules that are
imported by others sometimes need to jump to a later position in the visitation
order when more modules are loaded, but independent module trees don't
interfere with each other any more.

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

9 years ago[Sema] Diagnose use of declaration correctly.
Davide Italiano [Wed, 22 Jul 2015 00:30:58 +0000 (00:30 +0000)]
[Sema] Diagnose use of declaration correctly.

Before we skipped that for virtual functions not fully qualified (r81507).
This commit basically reverts this to the older behaviour, which seems
more consistent. We now also correctly consider ill-formed calls to deleted
member functions, which were silently passed before in some cases.
The review contains the whole discussion.

PR: 20268
Differential Revision:  http://reviews.llvm.org/D11334

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

9 years ago[modules] In C++, stop serializing and deserializing a list of declarations in
Richard Smith [Tue, 21 Jul 2015 23:54:07 +0000 (23:54 +0000)]
[modules] In C++, stop serializing and deserializing a list of declarations in
the identifier table. This is redundant, since the TU-scope lookups are also
serialized as part of the TU DeclContext, and wasteful in a number of ways. We
still emit the decls for PCH / preamble builds, since for those we want
identical results, not merely semantically equivalent ones.

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

9 years agoChange a test to follow the formatting of the rest of the tests in the file.
Richard Trieu [Tue, 21 Jul 2015 23:38:30 +0000 (23:38 +0000)]
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/trunk@242854 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoclang-format: Fix unary operator detection in for loops.
Daniel Jasper [Tue, 21 Jul 2015 22:51:00 +0000 (22:51 +0000)]
clang-format: Fix unary operator detection in for loops.

Before:
  for (;; * a = b) {}

After:
  for (;; *a = b) {}

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

9 years agoUse range-based for loops; NFC.
Aaron Ballman [Tue, 21 Jul 2015 22:33:52 +0000 (22:33 +0000)]
Use range-based for loops; NFC.

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

9 years agoARM: actually define __ARM_ARCH_7S__ for the armv7s slice
Tim Northover [Tue, 21 Jul 2015 21:47:33 +0000 (21:47 +0000)]
ARM: actually define __ARM_ARCH_7S__ for the armv7s slice

We ended up with the wrong predefine after the recent TargetParser shuffle, and
I accidentally solidified it with a test. This should fix it.

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

9 years agoUse a range-based for loop; NFC.
Aaron Ballman [Tue, 21 Jul 2015 21:18:29 +0000 (21:18 +0000)]
Use a range-based for loop; NFC.

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

9 years agoReplace some uses of Self.Context with the local variable C; NFC.
Aaron Ballman [Tue, 21 Jul 2015 21:07:11 +0000 (21:07 +0000)]
Replace some uses of Self.Context with the local variable C; NFC.

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

9 years agoFix GCC build due to shadowing
David Blaikie [Tue, 21 Jul 2015 18:59:10 +0000 (18:59 +0000)]
Fix GCC build due to shadowing

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

9 years agoPass an iterator range to EmitCallArgs
David Blaikie [Tue, 21 Jul 2015 18:37:18 +0000 (18:37 +0000)]
Pass an iterator range to EmitCallArgs

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

9 years ago[modules] Produce an error if -cc1 wants to implicitly build a module and no
Richard Smith [Tue, 21 Jul 2015 18:07:47 +0000 (18:07 +0000)]
[modules] Produce an error if -cc1 wants to implicitly build a module and no
module cache has been provided, rather than creating one in the current
directory.

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

9 years agoUpdate the documentation for "novtable" to match r242730.
Bob Wilson [Tue, 21 Jul 2015 16:40:03 +0000 (16:40 +0000)]
Update the documentation for "novtable" to match r242730.

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

9 years agoAdd missing parentheses to appease -Wlogical-op-parentheses.
Daniel Jasper [Tue, 21 Jul 2015 16:18:51 +0000 (16:18 +0000)]
Add missing parentheses to appease -Wlogical-op-parentheses.
Add missing case to appease -Wswitch.

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

9 years ago[X86][AVX512F] add FP arithmetic intrinsics
Asaf Badouh [Tue, 21 Jul 2015 15:27:28 +0000 (15:27 +0000)]
[X86][AVX512F] add FP arithmetic intrinsics
add/div/mul/sub include rounding versions

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

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

9 years agoCommit for http://reviews.llvm.org/D10765
Michael Wong [Tue, 21 Jul 2015 13:44:28 +0000 (13:44 +0000)]
Commit for http://reviews.llvm.org/D10765
for OpenMP 4 target data directive parsing and sema.
This commit is on behalf of Kelvin Li.

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

9 years agoRemoving attribute documentation headings that are not required and do not add clarit...
Aaron Ballman [Tue, 21 Jul 2015 12:20:53 +0000 (12:20 +0000)]
Removing attribute documentation headings that are not required and do not add clarity; NFC.

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

9 years agoFix mingw toolchain to honor sysroot on Linux and add tests.
Yaron Keren [Tue, 21 Jul 2015 11:01:00 +0000 (11:01 +0000)]
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/trunk@242766 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[ARM] Pass subtarget feature "+reserve-r9" instead of passing backend
Akira Hatanaka [Tue, 21 Jul 2015 01:41:08 +0000 (01:41 +0000)]
[ARM] Pass subtarget feature "+reserve-r9" instead of passing backend
option "-arm-reserve-r9".

This recommits r242736, which had to be reverted because the llvm-side
change that was committed in r242737 caused the number of subtarget
features to go over the limit of 64.

This change is needed since backend options do not make it to the backend
when doing LTO and are not capable of changing the behavior of code-gen
passes on a per-function basis.

rdar://problem/21529937

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

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

9 years agoFix crash-on-invalid: don't look ahead past an unknown token, it might be EOF.
Richard Smith [Tue, 21 Jul 2015 00:23:34 +0000 (00:23 +0000)]
Fix crash-on-invalid: don't look ahead past an unknown token, it might be EOF.

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

9 years agoRevert r242736.
Akira Hatanaka [Mon, 20 Jul 2015 23:53:02 +0000 (23:53 +0000)]
Revert r242736.

r242737 caused builds to fail with the following error message, so I'm
reverting the clang side change too:

error:Too many subtarget features! Bump MAX_SUBTARGET_FEATURES.

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

9 years agoclang-format: Fix crasher when a UTF8 character is found in an escape
Daniel Jasper [Mon, 20 Jul 2015 23:28:07 +0000 (23:28 +0000)]
clang-format: Fix crasher when a UTF8 character is found in an escape
sequence. Discovered by the fuzzer.

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

9 years ago[ARM] Pass subtarget feature "+reserve-r9" instead of passing backend
Akira Hatanaka [Mon, 20 Jul 2015 23:20:53 +0000 (23:20 +0000)]
[ARM] Pass subtarget feature "+reserve-r9" instead of passing backend
option "-arm-reserve-r9".

This change is needed since backend options do not make it to the backend
when doing LTO and are not capable of changing the behavior of code-gen
passes on a per-function basis.

rdar://problem/21529937

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

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

9 years agoRefactor TableGen backend for ClangAttrEmitter to avoid duplication.
Bob Wilson [Mon, 20 Jul 2015 22:57:36 +0000 (22:57 +0000)]
Refactor TableGen backend for ClangAttrEmitter to avoid duplication.

GenerateHasAttrSpellingStringSwitch and GenerateTargetRequirements had
duplicated code to check the conditions for target-specific attributes.
Refactor the duplicated code into a separate function. NFC.

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

9 years agoIgnore the "novtable" declspec when not using the Microsoft C++ ABI.
Bob Wilson [Mon, 20 Jul 2015 22:57:31 +0000 (22:57 +0000)]
Ignore the "novtable" declspec when not using the Microsoft C++ ABI.

Clang used to silently ignore __declspec(novtable). It is implemented
now, but leaving the vtable uninitialized does not work when using the
Itanium ABI, where the class layout for complex class hierarchies is
stored in the vtable. It might be possible to honor the novtable
attribute in some simple cases and either report an error or ignore
it in more complex situations, but it’s not clear if that would be
worthwhile. There is also value in having a simple and predictable
behavior, so this changes clang to simply ignore novtable when not using
the Microsoft C++ ABI.

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

9 years ago[MS Compat] Add support for __declspec(noalias)
David Majnemer [Mon, 20 Jul 2015 22:51:52 +0000 (22:51 +0000)]
[MS Compat] Add support for __declspec(noalias)

The attribute '__declspec(noalias)' communicates that the function only
accesses memory pointed to by its pointer-typed arguments.

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

9 years ago[CUDA] Moved device-side triple calculation to buildCudaActions().
Artem Belevich [Mon, 20 Jul 2015 21:59:31 +0000 (21:59 +0000)]
[CUDA] Moved device-side triple calculation to buildCudaActions().

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

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

9 years agoFix code completion tests to use an explicit modules cache path
Reid Kleckner [Mon, 20 Jul 2015 21:22:46 +0000 (21:22 +0000)]
Fix code completion tests to use an explicit modules cache path

Otherwise the stale module cache data may cause the test to fail.  These
two tests are new and are the only instances of c-index-test with
-fmodules that doesn't have an explicit module cache path.

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

9 years agoFix a case where we forgot to make a static local variable comdat
Reid Kleckner [Mon, 20 Jul 2015 20:35:30 +0000 (20:35 +0000)]
Fix a case where we forgot to make a static local variable comdat

Sometimes we can provide an initializer for static locals, in which case
we sometimes might need to change the type. Changing the type requires
making a new LLVM GlobalVariable, and in this codepath we were
forgetting to transfer the comdat.

Fixes PR23838.

Patch by Ivan Garramona.

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

9 years agoFixed style issues pointed out by Justin Bogner.
Artem Belevich [Mon, 20 Jul 2015 20:02:54 +0000 (20:02 +0000)]
Fixed style issues pointed out by Justin Bogner.

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

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

9 years agoFix quoting of #pragma comment for PS4.
Yunzhong Gao [Mon, 20 Jul 2015 17:46:56 +0000 (17:46 +0000)]
Fix quoting of #pragma comment for PS4.

This is the PS4 counterpart to r229376, which quotes the library name if the
name contains space. It was discovered that if a library name contains both
double-quote and space characters, quoting the name might produce unexpected
results, but we are mostly concerned with a Windows host environment, which
does not allow double-quote or slashes in file/folder names.

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

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

9 years ago[CodeGen] Flip lanes when lowering __builtin_palignr with one lane
Benjamin Kramer [Mon, 20 Jul 2015 15:31:17 +0000 (15:31 +0000)]
[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/trunk@242678 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAdd some missing 'F' flags to libm/libc builtins.
Charlie Turner [Mon, 20 Jul 2015 14:36:59 +0000 (14:36 +0000)]
Add some missing 'F' flags to libm/libc builtins.

More discussion available in http://reviews.llvm.org/D9913

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

9 years agoSilence a -Wtype-limits warning; NFC.
Aaron Ballman [Mon, 20 Jul 2015 13:36:07 +0000 (13:36 +0000)]
Silence a -Wtype-limits warning; NFC.

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

9 years agoRemove erroneous space in "lib64" string constant.
Yaron Keren [Mon, 20 Jul 2015 12:40:25 +0000 (12:40 +0000)]
Remove erroneous space in "lib64" string constant.

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

9 years ago[X86, inlineasm] Improve analysis of x,Y0,Yi,Ym,Yt,L,e,Z,s asm constraints (patch...
Alexey Bataev [Mon, 20 Jul 2015 12:08:00 +0000 (12:08 +0000)]
[X86, inlineasm] Improve analysis of x,Y0,Yi,Ym,Yt,L,e,Z,s asm constraints (patch by Alexey Frolov)

Improve Sema checking of 9 existing inline asm constraints (‘x’, ‘Y*’, ‘L’, ‘e’, ‘Z’, ‘s’).
Differential Revision: http://reviews.llvm.org/D10536

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

9 years agoAllow case-insensitive values for -mtune for AArch64 target in line with GCC.
Gabor Ballabas [Mon, 20 Jul 2015 11:28:20 +0000 (11:28 +0000)]
Allow case-insensitive values for -mtune for AArch64 target in line with GCC.

GCC allows case-insensitive values for -mcpu, -march and -mtune options.
This patch implements the same behaviour for the -mtune option for the AArch64 target.

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

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

9 years agoFix typo found by Joerg Sonnenberger.
Yaron Keren [Mon, 20 Jul 2015 10:20:57 +0000 (10:20 +0000)]
Fix typo found by Joerg Sonnenberger.

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

9 years agoAttempt to fix greendragon buildbot failures; apparently wc sometimes inserts a leadi...
Richard Smith [Mon, 20 Jul 2015 08:40:51 +0000 (08:40 +0000)]
Attempt to fix greendragon buildbot failures; apparently wc sometimes inserts a leading space into its output. Just check for a matching number anywhere in the output.

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

9 years agoSupport mingw toolchain include and lib directories on Arch Linux.
Yaron Keren [Mon, 20 Jul 2015 06:38:39 +0000 (06:38 +0000)]
Support mingw toolchain include and lib directories on Arch Linux.
Thanks to Thomas Pochtrager for testing this!

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

9 years ago[modules] Add (already passing) test for template default argument merging when the...
Richard Smith [Sun, 19 Jul 2015 23:44:27 +0000 (23:44 +0000)]
[modules] Add (already passing) test for template default argument merging when the template is declared in a namespace.

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

9 years ago[Sema] Make an assertion stricter.
Davide Italiano [Sun, 19 Jul 2015 22:07:14 +0000 (22:07 +0000)]
[Sema] Make an assertion stricter.

We now check for the exact range of IdealIndex.

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

9 years ago[modules] Don't save uninteresting identifiers, and don't consider identifiers
Richard Smith [Sun, 19 Jul 2015 21:41:12 +0000 (21:41 +0000)]
[modules] Don't save uninteresting identifiers, and don't consider identifiers
to be interesting just because they are the name of a builtin. Reduces the size
of an empty module by over 80% (~100KB).

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

9 years agoRemove two unused includes, part 2...
Nico Weber [Sun, 19 Jul 2015 20:44:11 +0000 (20:44 +0000)]
Remove two unused includes, part 2...

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

9 years agoRemove two unused includes.
Nico Weber [Sun, 19 Jul 2015 20:42:48 +0000 (20:42 +0000)]
Remove two unused includes.

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

9 years ago[X86][AVX512BW] add clang intrinsics for pmulhrsw / pmulhuw / pmulhw
Asaf Badouh [Sun, 19 Jul 2015 08:47:31 +0000 (08:47 +0000)]
[X86][AVX512BW] add clang intrinsics for pmulhrsw / pmulhuw / pmulhw

also made minor fix in "test_mm512_maskz_permutex2var_epi16"

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

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

9 years ago[CodeGen] Don't dereference vector::end if the vector can be empty
Benjamin Kramer [Sat, 18 Jul 2015 20:30:11 +0000 (20:30 +0000)]
[CodeGen] Don't dereference vector::end if the vector can be empty

MSVC complains about this in debug mode. NFC.

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

9 years ago[AST] Remove StmtRange in favor of an iterator_range.
Benjamin Kramer [Sat, 18 Jul 2015 17:09:36 +0000 (17:09 +0000)]
[AST] Remove StmtRange in favor of an iterator_range.

StmtRange was just a convenient wrapper for two StmtIterators before
we had real range support. This removes some of the implicit conversions
StmtRange had leading to slightly more verbose code but also should make
more obvious what's going on. No functional change intended.

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

9 years agoclang-format: Take nested lines into account when detection C++03
Daniel Jasper [Sat, 18 Jul 2015 16:35:30 +0000 (16:35 +0000)]
clang-format: Take nested lines into account when detection C++03
compatibility and variable alignment.

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

9 years ago[AST] Cleanup ExprIterator.
Benjamin Kramer [Sat, 18 Jul 2015 14:35:53 +0000 (14:35 +0000)]
[AST] Cleanup ExprIterator.

- Make it a proper random access iterator with a little help from iterator_adaptor_base
- Clean up users of magic dereferencing. The iterator should behave like an Expr **.
- Make it an implementation detail of Stmt. This allows inlining of the assertions.

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

9 years agoSilence the driver warnings, if we see "-w" on the Driver.
Filipe Cabecinhas [Sat, 18 Jul 2015 06:35:24 +0000 (06:35 +0000)]
Silence the driver warnings, if we see "-w" on the Driver.

Summary:
We can enable warnings after that -w, so the patch might not be 100%
correct.

The problem that triggered this is: we have some amount of tests that
expect 0 warnings (including unit tests for -w), but -w ends up not fully
silencing everything.

Reviewers: echristo, chandlerc

Subscribers: cfe-commits

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

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

9 years agoDriver/ToolChain/AMDGPU: Attempt to fix buildbots after r242601
Tom Stellard [Sat, 18 Jul 2015 02:11:07 +0000 (02:11 +0000)]
Driver/ToolChain/AMDGPU: Attempt to fix buildbots after r242601

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

9 years agoDriver: Add AMDGPU toolchain
Tom Stellard [Sat, 18 Jul 2015 01:49:05 +0000 (01:49 +0000)]
Driver: Add AMDGPU toolchain

Summary:
This is a minimal toolchain, which sets the integrated assembler as default,
and uses lld for linking.

Reviewers: arsenm, mcrosier

Subscribers: cfe-commits

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

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

9 years ago[Sema] Emit correct warning when copy-elision is not possible.
Davide Italiano [Sat, 18 Jul 2015 01:15:19 +0000 (01:15 +0000)]
[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/trunk@242600 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[MS ABI] Explicit specialization of static data members are weak
David Majnemer [Fri, 17 Jul 2015 23:36:49 +0000 (23:36 +0000)]
[MS ABI] Explicit specialization of static data members are weak

Normally, explicit specializations are treated like strong external
definitions.  However, MSVC treats explicit specializations of static
data members as weak.  MSVC 2013's <regex> implementation has such an
explicit specialization which leads to clang emitting a strong
definition in each translation unit which includes it.  Tweak clang's
linkage calculation to give such entities GVA_StrongODR linkage instead.

This fixes PR24165.

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

9 years agoInstrProf: Promote this assert to a report_fatal_error
Justin Bogner [Fri, 17 Jul 2015 23:31:21 +0000 (23:31 +0000)]
InstrProf: Promote this assert to a report_fatal_error

If this assert does fire, the no-asserts behaviour is an infinite
loop. It's better to crash in this case so we get a crash report and
stop wasting the user's cpu cycles.

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

9 years agoHopefully fix android i386 build after r242554.
James Y Knight [Fri, 17 Jul 2015 21:58:11 +0000 (21:58 +0000)]
Hopefully fix android i386 build after r242554.

That platform has alignof(uint64_t) == 4, but, since LLVM_ALIGNAS(...)
cannot take anything but literal integers due to MSVC limitations, the
literal '8' used there didn't match. Switch ScopeStackAlignment to
just use 8, as well.

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

9 years agobasic: default to MSVC on Windows
Saleem Abdulrasool [Fri, 17 Jul 2015 21:26:41 +0000 (21:26 +0000)]
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/trunk@242574 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoFix test case in r242565
Steven Wu [Fri, 17 Jul 2015 20:49:01 +0000 (20:49 +0000)]
Fix test case in r242565

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

9 years agoStop treating extension keywords as 'interesting'; we don't allow the extension
Richard Smith [Fri, 17 Jul 2015 20:19:56 +0000 (20:19 +0000)]
Stop treating extension keywords as 'interesting'; we don't allow the extension
flag to change between serialization and deserialization, so it does not
require the identifier to be serialized.

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

9 years agoFix -save-temp when using objc-arc, sanitizer and profiling
Steven Wu [Fri, 17 Jul 2015 20:09:56 +0000 (20:09 +0000)]
Fix -save-temp when using objc-arc, sanitizer and profiling

Currently, -save-temp will cause ObjCARC optimization to be dropped,
sanitizer pass to run early in the pipeline, and profiling
instrumentation to run twice.
Fix the issue by properly disable all passes in the optimization
pipeline when generating bitcode output and parse some of the Language
Options even when the input is bitcode so the passes can be setup
correctly.

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

9 years agoRefactor to remove repetition, no functionality change.
Richard Smith [Fri, 17 Jul 2015 20:09:43 +0000 (20:09 +0000)]
Refactor to remove repetition, no functionality change.

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

9 years agoRemove redundant bouncing between StringRef and a pair of 'const char *'.
Richard Smith [Fri, 17 Jul 2015 19:51:03 +0000 (19:51 +0000)]
Remove redundant bouncing between StringRef and a pair of 'const char *'.

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

9 years agoFix alignment issues in Clang.
James Y Knight [Fri, 17 Jul 2015 18:21:37 +0000 (18:21 +0000)]
Fix alignment issues in Clang.

Some const-correctness changes snuck in here too, since they were in the
area of code I was modifying.

This seems to make Clang actually work without Bus Error on
32bit-sparc.

Follow-up patches will factor out a trailing-object helper class, to
make classes using the idiom of appending objects to other objects
easier to understand, and to ensure (with static_assert) that required
alignment guarantees continue to hold.

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

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

9 years ago[ASTMatchers] Use provided target NodeKind instead of inferring it from the matchers.
Samuel Benzaquen [Fri, 17 Jul 2015 16:05:27 +0000 (16:05 +0000)]
[ASTMatchers] Use provided target NodeKind instead of inferring it from the matchers.

Individual matchers might not be convertible to each other's kind, but
they might still all be convertible to the target kind.
All the callers already know the target kind, so just pass it down.

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

9 years agoR600: Add macro defs for all supported OpenCL extensions
Tom Stellard [Fri, 17 Jul 2015 13:16:52 +0000 (13:16 +0000)]
R600: Add macro defs for all supported OpenCL extensions

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

9 years ago[Mips] Set mips64r6 as default CPU for MIPS64 Android
Petar Jovanovic [Fri, 17 Jul 2015 12:57:30 +0000 (12:57 +0000)]
[Mips] Set mips64r6 as default CPU for MIPS64 Android

Change default CPU for MIPS64 Android. Now it is mips64r6.

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

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

9 years agoChanged "pragma" -> "#pragma" in a comment, NFC.
Andrey Bokhanko [Fri, 17 Jul 2015 12:25:21 +0000 (12:25 +0000)]
Changed "pragma" -> "#pragma" in a comment, NFC.

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

9 years agoFix android build after r242514
Tamas Berghammer [Fri, 17 Jul 2015 10:16:11 +0000 (10:16 +0000)]
Fix android build after r242514

On android std::to_string isn't supported. Replace it with
llvm::utostr.

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

9 years ago-Refactored ARMTargetInfo in order to use the API of TargetParser
Alexandros Lamprineas [Fri, 17 Jul 2015 09:08:37 +0000 (09:08 +0000)]
-Refactored ARMTargetInfo in order to use the API of TargetParser
 for extracting target specific information.
-Patches commit r241343: case 'armv7l' was unhandled in
 ARMTargetInfo::getCPUAttr(), and thus it was returning invalid
 characters for macro definition.

Change-Id: I1a0972e5ff5529cd17376c6562047bab8b4da32c
Phabricator: http://reviews.llvm.org/D10839

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

9 years ago[CodeGen, X86] Classify vectors <= 32 bits as INTEGER
David Majnemer [Fri, 17 Jul 2015 05:49:13 +0000 (05:49 +0000)]
[CodeGen, X86] Classify vectors <= 32 bits as INTEGER

We shouldn't crash despite the AMD64 ABI not giving clear guidance as to
how to pass around vector types <= 32 bits.  Instead, classify such
vectors as INTEGER to be compatible with GCC.

This fixes PR24162.

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

9 years agoTests for "Disabling of "redefine_extname" pragma for C++ code"
Alexey Bataev [Fri, 17 Jul 2015 04:21:51 +0000 (04:21 +0000)]
Tests for "Disabling of "redefine_extname" pragma for C++ code"

In response to Richard Smith's comment (http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20150622/131782.html), this patch disables "redefine_extname" pragma for C++ code. Also, I added a test that this pragma doesn't apply to static declarations.
Differential Revision: http://reviews.llvm.org/D10805

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

9 years agoclang: s/PCHContainerOps/PCHContainerRdr/ in \param(s), introduced in r242499. [...
NAKAMURA Takumi [Fri, 17 Jul 2015 04:16:02 +0000 (04:16 +0000)]
clang: s/PCHContainerOps/PCHContainerRdr/ in \param(s), introduced in r242499. [-Wdocumentation]

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

9 years agoFix clang-fuzzer build after r242499.
Adrian Prantl [Fri, 17 Jul 2015 04:07:47 +0000 (04:07 +0000)]
Fix clang-fuzzer build after r242499.

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

9 years agoDriver: Determine file names for crash reports more reliably
Justin Bogner [Fri, 17 Jul 2015 03:35:54 +0000 (03:35 +0000)]
Driver: Determine file names for crash reports more reliably

Guessing which file name to replace based on the -main-file-name
argument to -cc1 is flawed. Instead, keep track of which arguments are
inputs to each command.

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

9 years agoMake the clang module container format selectable from the command line.
Adrian Prantl [Fri, 17 Jul 2015 01:19:54 +0000 (01:19 +0000)]
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/trunk@242499 91177308-0d34-0410-b5e6-96231b3b80d8