]> granicus.if.org Git - clang/log
clang
9 years ago[MSVC Compat] Implement __is_destructible, __is_nothrow_destructible
David Majnemer [Tue, 11 Aug 2015 03:03:28 +0000 (03:03 +0000)]
[MSVC Compat] Implement __is_destructible, __is_nothrow_destructible

Our implementations of these type trait intrinsics simply mapped them to
__has_trivial_destructor.  Instead, flesh these intrinsics out with a
full implementation which matches the standard's description.

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

9 years agoMake the analysis reporting test with x86 to fix the hexagon build.
Tyler Nowicki [Tue, 11 Aug 2015 01:54:48 +0000 (01:54 +0000)]
Make the analysis reporting test with x86 to fix the hexagon build.

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

9 years agoPrint vectorization analysis when loop hint is specified.
Tyler Nowicki [Tue, 11 Aug 2015 01:10:08 +0000 (01:10 +0000)]
Print vectorization analysis when loop hint is specified.

This patche and a related llvm patch solve the problem of having to explicitly enable analysis when specifying a loop hint pragma to get the diagnostics. Passing AlwasyPrint as the pass name (see below) causes the front-end to print the diagnostic if the user has specified '-Rpass-analysis' without an '=<target-pass>’. Users of loop hints can pass that compiler option without having to specify the pass and they will get diagnostics for only those loops with loop hints.

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

9 years ago[modules] Don't suggest deleting the module cache on an error if there is no module...
Richard Smith [Tue, 11 Aug 2015 00:32:42 +0000 (00:32 +0000)]
[modules] Don't suggest deleting the module cache on an error if there is no module cache for this build.

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

9 years agoadd comment
Derek Schuff [Tue, 11 Aug 2015 00:19:54 +0000 (00:19 +0000)]
add comment

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

9 years agoAdd NaCl to long double/fp128 mangling test
Derek Schuff [Tue, 11 Aug 2015 00:19:53 +0000 (00:19 +0000)]
Add NaCl to long double/fp128 mangling test

Summary:
NaCl is a platform where long double is the same as double.
Its mangling is spelled with "long double" but its ABI lowering is the same
as double.

Reviewers: rnk, chh

Subscribers: jfb, cfe-commits, dschuff

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

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

9 years ago[modules] Properly diagnose errors in module files for which we have no
Richard Smith [Tue, 11 Aug 2015 00:05:21 +0000 (00:05 +0000)]
[modules] Properly diagnose errors in module files for which we have no
corresponding include location (those specified on the command line).

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

9 years agoFix some tabs.
Richard Smith [Tue, 11 Aug 2015 00:03:28 +0000 (00:03 +0000)]
Fix some tabs.

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

9 years agoRemove some dead code.
Richard Smith [Mon, 10 Aug 2015 23:26:54 +0000 (23:26 +0000)]
Remove some dead code.

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

9 years agoAppend options for vectorization when pointer checking threshold is exceeded.
Tyler Nowicki [Mon, 10 Aug 2015 23:05:16 +0000 (23:05 +0000)]
Append options for vectorization when pointer checking threshold is exceeded.

Following one of the appended options will allow the loop to be vectorized. We do not include a command line option for modifying the pointer checking threshold because there is no clang-level interface for this currently.

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

9 years agoAdd NaCl (a target where long double = double) to long double ABI test
Derek Schuff [Mon, 10 Aug 2015 23:02:37 +0000 (23:02 +0000)]
Add NaCl (a target where long double = double) to long double ABI test

A test was recently (r244468) added to cover long double calling convention
codegen, distinguishing between Android and GNU conventions (where long doubles
are fp128 and x86_fp80, respectively). Native Client is a target where long
doubles are the same as doubles. This change augments the test to cover
that case.

Also rename the test to test/codeGen/X86_64-longdouble.c

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

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

9 years agoMake frontend floating-point commutivity test X86 specific to avoid cost-model relate...
Tyler Nowicki [Mon, 10 Aug 2015 22:17:40 +0000 (22:17 +0000)]
Make frontend floating-point commutivity test X86 specific to avoid cost-model related problems on arm-thumb and hexagon.

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

9 years agoIf a variable template is inside a context with template arguments that is being...
Nick Lewycky [Mon, 10 Aug 2015 21:54:08 +0000 (21:54 +0000)]
If a variable template is inside a context with template arguments that is being instantiated, and that instantiation fails, fail our instantiation instead of crashing. Errors have already been emitted.

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

9 years agoRemove non-ascii characters.
Tyler Nowicki [Mon, 10 Aug 2015 21:18:01 +0000 (21:18 +0000)]
Remove non-ascii characters.

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

9 years agoFix test case to work with -Asserts builds.
Chih-Hung Hsieh [Mon, 10 Aug 2015 20:58:54 +0000 (20:58 +0000)]
Fix test case to work with -Asserts builds.

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

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

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

9 years ago[CUDA] Add implicit __attribute__((used)) to all __global__ functions.
Artem Belevich [Mon, 10 Aug 2015 20:57:02 +0000 (20:57 +0000)]
[CUDA] Add implicit __attribute__((used)) to all __global__ functions.

This allows emitting kernels that were instantiated from the host code
and which would never be explicitly referenced otherwise.

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

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

9 years ago[CUDA] Added stubs for new attributes used by CUDA headers.
Artem Belevich [Mon, 10 Aug 2015 20:33:56 +0000 (20:33 +0000)]
[CUDA] Added stubs for new attributes used by CUDA headers.

The main purpose is to avoid errors and warnings while parsing CUDA
header files. The attributes are currently unused otherwise.

Differential version: http://reviews.llvm.org/D11690

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

9 years agoAppend options for floating-point commutivity when related diagnostics are produced.
Tyler Nowicki [Mon, 10 Aug 2015 19:56:40 +0000 (19:56 +0000)]
Append options for floating-point commutivity when related diagnostics are produced.

With this patch clang appends the command line options that would allow vectorization when floating-point commutativity is required. Specifically those are enabling fast-math or specifying a loop hint.

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

9 years agoFix typo.
Nick Lewycky [Mon, 10 Aug 2015 19:54:11 +0000 (19:54 +0000)]
Fix typo.

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

9 years ago[dllimport] A non-imported class with an imported key can't have a key
Reid Kleckner [Mon, 10 Aug 2015 19:39:01 +0000 (19:39 +0000)]
[dllimport] A non-imported class with an imported key can't have a key

Summary:
The vtable takes its DLL storage class from the class, not the key
function. When they disagree, the vtable won't be exported by the DLL
that defines the key function. The easiest way to ensure that importers
of the class emit their own vtable is to say that the class has no key
function.

Reviewers: hans, majnemer

Subscribers: cfe-commits

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

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

9 years ago[clang-cl] Add support for CL and _CL_ environment variables
David Majnemer [Mon, 10 Aug 2015 18:16:32 +0000 (18:16 +0000)]
[clang-cl] Add support for CL and _CL_ environment variables

cl uses 'CL' and '_CL_' to prepend and append command line options to
the given argument vector.  There is an additional quirk whereby '#' is
transformed into '='.

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

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

9 years agoCorrect x86_64 fp128 calling convention
Chih-Hung Hsieh [Mon, 10 Aug 2015 17:33:31 +0000 (17:33 +0000)]
Correct x86_64 fp128 calling convention

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

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

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

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

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

9 years agoAdd new llvm.loop.unroll.enable metadata for use with "#pragma unroll".
Mark Heffernan [Mon, 10 Aug 2015 17:29:39 +0000 (17:29 +0000)]
Add new llvm.loop.unroll.enable metadata for use with "#pragma unroll".

This change adds the new unroll metadata "llvm.loop.unroll.enable" which directs
the optimizer to unroll a loop fully if the trip count is known at compile time, and
unroll partially if the trip count is not known at compile time. This differs from
"llvm.loop.unroll.full" which explicitly does not unroll a loop if the trip count is not
known at compile time

With this change "#pragma unroll" generates "llvm.loop.unroll.enable" rather than
"llvm.loop.unroll.full" metadata. This changes the semantics of "#pragma unroll" slightly
to mean "unroll aggressively (fully or partially)" rather than "unroll fully or not at all".

The motivating example for this change was some internal code with a loop marked
with "#pragma unroll" which only sometimes had a compile-time trip count depending
on template magic. When the trip count was a compile-time constant, everything works
as expected and the loop is fully unrolled. However, when the trip count was not a
compile-time constant the "#pragma unroll" explicitly disabled unrolling of the loop(!).
Removing "#pragma unroll" caused the loop to be unrolled partially which was desirable
from a performance perspective.

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

9 years agoAdd WebKit brace style configuration option.
Roman Kashitsyn [Mon, 10 Aug 2015 13:43:19 +0000 (13:43 +0000)]
Add WebKit brace style configuration option.

Summary:
Add brace style `BS_WebKit` as described on https://www.webkit.org/coding/coding-style.html:

* Function definitions: place each brace on its own line.
* Other braces: place the open brace on the line preceding the code block; place the close brace on its own line.

Set brace style used in `getWebKitStyle()` to the newly added `BS_WebKit`.

Reviewers: djasper, klimek

Subscribers: klimek, cfe-commits

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

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

9 years ago[Driver] Fix handling of -fbuiltin/-fcommon when combined with -mkernel
John Brawn [Mon, 10 Aug 2015 11:11:28 +0000 (11:11 +0000)]
[Driver] Fix handling of -fbuiltin/-fcommon when combined with -mkernel

-mkernel enables -fno-builtin and -fno-common by default, but allows -fbuiltin
and -fcommon to override that. However "-fbuiltin -fno-builtin" is treated the
same as "-fbuiltin" which is wrong, so fix that. Also fixes similar behaviour
when -fno-common is default.

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

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

9 years ago[Static Analyzer] Warn when inner and outer conditions are identical. The inner condi...
Daniel Marjamaki [Mon, 10 Aug 2015 07:18:29 +0000 (07:18 +0000)]
[Static Analyzer] Warn when inner and outer conditions are identical. The inner condition is always true.

Reviewed in http://reviews.llvm.org/D10892.

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

9 years ago[tests] Remove calls to grep
Filipe Cabecinhas [Mon, 10 Aug 2015 07:01:11 +0000 (07:01 +0000)]
[tests] Remove calls to grep

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

9 years ago[MSVC] Crash fix: assigning of overloaded member function pointer caused assertion
Alexey Bataev [Mon, 10 Aug 2015 04:07:49 +0000 (04:07 +0000)]
[MSVC] Crash fix: assigning of overloaded member function pointer caused assertion

Original class was not marked with inheritance attribute and it causes a crash on codegen.
Differential Revision: http://reviews.llvm.org/D11828

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

9 years agoclang/test/Modules: Satisfy win32 hosts due to dospath issue.
NAKAMURA Takumi [Sun, 9 Aug 2015 22:55:50 +0000 (22:55 +0000)]
clang/test/Modules: Satisfy win32 hosts due to dospath issue.

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

9 years ago[modules] Remove now-dead code for lazy loading of files specified by -fmodule-file=.
Richard Smith [Sun, 9 Aug 2015 08:58:36 +0000 (08:58 +0000)]
[modules] Remove now-dead code for lazy loading of files specified by -fmodule-file=.

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

9 years ago[modules] PR22534: Load files specified by -fmodule-file= eagerly. In particular...
Richard Smith [Sun, 9 Aug 2015 08:48:41 +0000 (08:48 +0000)]
[modules] PR22534: Load files specified by -fmodule-file= eagerly. In particular, this avoids the need to re-parse module map files when using such a module.

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

9 years agoUnrevert r244412 (reverted in r244414), and delete the bogus line left behind
Richard Smith [Sun, 9 Aug 2015 06:03:55 +0000 (06:03 +0000)]
Unrevert r244412 (reverted in r244414), and delete the bogus line left behind
in the unit test that was checking a file the test no longer creates.

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

9 years agoRevert "[modules] Don't leak -M flags for dependency file generation into the module"
Justin Bogner [Sun, 9 Aug 2015 05:40:38 +0000 (05:40 +0000)]
Revert "[modules] Don't leak -M flags for dependency file generation into the module"

This was failing tests on a bunch of bots:

http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/29919/steps/check-all
http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/29627/steps/check-all
http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/9959/
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/5591/

This reverts r244412

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

9 years ago[modules] When building a dependency file, include module maps parsed in the
Richard Smith [Sun, 9 Aug 2015 04:46:57 +0000 (04:46 +0000)]
[modules] When building a dependency file, include module maps parsed in the
current compilation, not just those from imported modules.

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

9 years ago[modules] Don't leak -M flags for dependency file generation into the module
Richard Smith [Sun, 9 Aug 2015 02:44:20 +0000 (02:44 +0000)]
[modules] Don't leak -M flags for dependency file generation into the module
build process when we implicitly build a module. Previously, we'd create the
specified .d file once for each implicitly-built module and then finally
overwrite it with the correct contents after the requested build completes.
(This fails if you use stdout as a dependency file, which is what the provided
testcase does, and is how I discovered this brokenness.)

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

9 years ago[modules] Attach dependency listeners to the module manager once when it's
Richard Smith [Sun, 9 Aug 2015 02:28:42 +0000 (02:28 +0000)]
[modules] Attach dependency listeners to the module manager once when it's
created, rather than creating and attaching a new listener each time we load a
module file (yes, the old ones were kept around too!). No functionality change
intended, but a bit more sanity.

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

9 years agoAdd file missed from r244409.
Richard Smith [Sun, 9 Aug 2015 01:50:14 +0000 (01:50 +0000)]
Add file missed from r244409.

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

9 years ago[modules] When loading a template specialization, re-canonicalize its template
Richard Smith [Sun, 9 Aug 2015 01:05:31 +0000 (01:05 +0000)]
[modules] When loading a template specialization, re-canonicalize its template
arguments because the reloaded form might have become non-canonical across the
serialization/deserialization step (this particularly happens when the
canonical form of the type involves an expression).

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

9 years agoTeach mingw toolchain driver to properly emit static or dynamic linking of ligcc.
Yaron Keren [Sun, 9 Aug 2015 00:24:07 +0000 (00:24 +0000)]
Teach mingw toolchain driver to properly emit static or dynamic linking of ligcc.
Implemented in MinGW::Linker::AddLibGCC since AddLibgcc is a logic puzzle even
before adding one more boolean. A first step towards simplification of AddLibgcc
would be to factor out the Android AddLibgcc code into its own routine.

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

9 years ago[Static Analyzer] Add --analyzer-target option to scan-build.
Ted Kremenek [Sat, 8 Aug 2015 17:58:47 +0000 (17:58 +0000)]
[Static Analyzer] Add --analyzer-target option to scan-build.

When interposing on a compiler doing cross-compilation, scan-build
does not infer the target triple needed to pass to clang for
doing static analysis.  The --analyzer-target option allows one
to manually specify the target triple used during static analysis
(and only static analysis) for such cases.

Patch by Honggyu Kim!

Reviewed in http://reviews.llvm.org/D10356.

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

9 years agoRevert "[analyzer] Add checkers for OS X / iOS localizability issues"
Anna Zaks [Sat, 8 Aug 2015 04:53:04 +0000 (04:53 +0000)]
Revert "[analyzer] Add checkers for OS X / iOS localizability issues"

This reverts commit fc885033a30b6e30ccf82398ae7c30e646727b10.

Revert all localization checker commits until the proper fix is implemented.

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

9 years agoRevert "[analyzer] Fixup to r244389 to make this build on windows."
Anna Zaks [Sat, 8 Aug 2015 04:52:59 +0000 (04:52 +0000)]
Revert "[analyzer] Fixup to r244389 to make this build on windows."

This reverts commit 57a46a75b408245cf4154a838fe13ad702065745.

Revert all localization checker commits until the proper fix is implemented.

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

9 years ago[analyzer] Fixup to r244389 to make this build on windows.
Anna Zaks [Sat, 8 Aug 2015 02:26:07 +0000 (02:26 +0000)]
[analyzer] Fixup to r244389 to make this build on windows.

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

9 years ago[analyzer] Add checkers for OS X / iOS localizability issues
Anna Zaks [Sat, 8 Aug 2015 01:49:26 +0000 (01:49 +0000)]
[analyzer] Add checkers for OS X / iOS localizability issues

Add checkers that detect code-level localizability issues for OS X / iOS:
 - A path sensitive checker that warns about uses of non-localized
 NSStrings passed to UI methods expecting localized strings.
 - A syntax checker that warns against not including a comment in
 NSLocalizedString macros.

A patch by Kulpreet Chilana!

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

9 years ago[analyzer] Don't issue alarm in ObjCSuperCallChecker for the super class itself.
Devin Coughlin [Sat, 8 Aug 2015 01:31:51 +0000 (01:31 +0000)]
[analyzer] Don't issue alarm in ObjCSuperCallChecker for the super class itself.

The ObjCSuperCallChecker issues alarms for various Objective-C APIs that require
a subclass to call to its superclass's version of a method when overriding it.
So, for example, it raises an alarm when the -viewDidLoad method in a subclass
of UIViewController does not call [super viewDidLoad].

This patch fixes a false alarm where the analyzer erroneously required the
implementation of the superclass itself (e.g., UIViewController) to call
super.

rdar://problem/18416944

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

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

9 years agoAST: Implement mangling support for function types without a prototype.
Peter Collingbourne [Fri, 7 Aug 2015 23:25:47 +0000 (23:25 +0000)]
AST: Implement mangling support for function types without a prototype.

Function types without prototypes can arise when mangling a function type
within an overloadable function in C. We mangle these as the absence of
any parameter types (not even an empty parameter list).

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

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

9 years ago[Sparc] XFAIL CodeGen/atomic_ops test.
James Y Knight [Fri, 7 Aug 2015 22:52:34 +0000 (22:52 +0000)]
[Sparc] XFAIL CodeGen/atomic_ops test.

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

9 years agoUpdate a comment to be more descriptive.
Eric Christopher [Fri, 7 Aug 2015 19:07:08 +0000 (19:07 +0000)]
Update a comment to be more descriptive.

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

9 years agoMove the cpu validating virtual method down to the feature routines
Eric Christopher [Fri, 7 Aug 2015 18:31:25 +0000 (18:31 +0000)]
Move the cpu validating virtual method down to the feature routines
where it belongs.

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

9 years agoRestore PrettyStackTrace state on crash.
Nico Weber [Fri, 7 Aug 2015 17:48:57 +0000 (17:48 +0000)]
Restore PrettyStackTrace state on crash.

Last part of PR11974.

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

9 years agoUse LLVM_ATTRIBUTE_UNUSED to hide gcc 5.1 unused variable warning.
Yaron Keren [Fri, 7 Aug 2015 16:21:23 +0000 (16:21 +0000)]
Use LLVM_ATTRIBUTE_UNUSED to hide gcc 5.1 unused variable warning.
Suggestion by David Blaikie!

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

9 years agoThis patch commits OpenMP 4 target device clauses
Michael Wong [Fri, 7 Aug 2015 16:16:36 +0000 (16:16 +0000)]
This patch commits OpenMP 4 target device clauses
This is committed on behalf of Kelvin Li
http://reviews.llvm.org/D11469?id=31227

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

9 years agoSilence tools/clang/lib/Tooling/CompilationDatabase.cpp:328:12: warning:
Yaron Keren [Fri, 7 Aug 2015 10:15:15 +0000 (10:15 +0000)]
Silence tools/clang/lib/Tooling/CompilationDatabase.cpp:328:12: warning:
‘clang::tooling::JSONAnchorDest’ defined but not used [-Wunused-variable]
from gcc 5.1.

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

9 years agoMake sure the Features field of the Builtin Info struct is always initialized. Silenc...
Craig Topper [Fri, 7 Aug 2015 05:14:44 +0000 (05:14 +0000)]
Make sure the Features field of the Builtin Info struct is always initialized. Silences -Wmissing-field-initializers.

While there convert 0 in the BUILTIN macros to nullptr.

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

9 years agoMake 'arm' cover both 32 and 64 bit architecutres
Ben Langmuir [Fri, 7 Aug 2015 01:59:56 +0000 (01:59 +0000)]
Make 'arm' cover both 32 and 64 bit architecutres

... and add aarch32 to specifically refer to the 32-bit ones.

Previously, 'arm' meant only 32-bit architectures and there was no way
for a module to build with both 32 and 64 bit ARM architectures.

Now a module that is intended to work on both architectures can specify
    requires arm
whereas a module only for 32-bit platforms can say
    requires aarch32
and just like before, 64-bit only can say
    requires aarch64

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

9 years agoRange-forify a loop, delete trailing whitespace. NFC
Douglas Katzman [Thu, 6 Aug 2015 22:36:24 +0000 (22:36 +0000)]
Range-forify a loop, delete trailing whitespace. NFC

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

9 years ago[modules] Remove unused ModuleManager::visitDepthFirst function.
Richard Smith [Thu, 6 Aug 2015 22:14:35 +0000 (22:14 +0000)]
[modules] Remove unused ModuleManager::visitDepthFirst function.

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

9 years ago[modules] Fix use-after-iterator-invalidation bug.
Richard Smith [Thu, 6 Aug 2015 22:14:12 +0000 (22:14 +0000)]
[modules] Fix use-after-iterator-invalidation bug.

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

9 years agoContinue the work from r243908 by adding a Features field to Builtin::Info
Eric Christopher [Thu, 6 Aug 2015 22:11:54 +0000 (22:11 +0000)]
Continue the work from r243908 by adding a Features field to Builtin::Info
so that we can populate it on a per-target basis with required features.

Future commits will start using this information for warnings.

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

9 years ago[modules] Stop walking all modules when looking for lexical decls for a
Richard Smith [Thu, 6 Aug 2015 22:07:25 +0000 (22:07 +0000)]
[modules] Stop walking all modules when looking for lexical decls for a
DeclContext. These only ever come from the owning module file for the Decl.

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

9 years agoFix alignment of TemplateArgumentList.
James Y Knight [Thu, 6 Aug 2015 21:22:02 +0000 (21:22 +0000)]
Fix alignment of TemplateArgumentList.

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

9 years ago[modules] Remove now-unused MergedLookups map.
Richard Smith [Thu, 6 Aug 2015 21:09:44 +0000 (21:09 +0000)]
[modules] Remove now-unused MergedLookups map.

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

9 years ago[modules] Remove redundant lookups into non-primary DeclContexts. These were made...
Richard Smith [Thu, 6 Aug 2015 21:05:21 +0000 (21:05 +0000)]
[modules] Remove redundant lookups into non-primary DeclContexts. These were made unnecessary by r244192.

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

9 years ago[ItaniumCXXABI] Don't import RTTI data for classes with key functions
David Majnemer [Thu, 6 Aug 2015 20:56:55 +0000 (20:56 +0000)]
[ItaniumCXXABI] Don't import RTTI data for classes with key functions

MinGW has some pretty strange behvaior around RTTI and
dllimport/dllexport:
- RTTI data is never imported
- RTTI data is only exported if the class has no key function.

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

9 years agoConvert a few classes over to use the new TrailingObjects helper.
James Y Knight [Thu, 6 Aug 2015 20:26:32 +0000 (20:26 +0000)]
Convert a few classes over to use the new TrailingObjects helper.

This initial commit serves as an example -- the remainder of the
classes using pointer arithmetic for trailing objects will be
converted in subsequent changes.

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

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

9 years agoRemove unused 'Owned' flag from TemplateArgumentList.
James Y Knight [Thu, 6 Aug 2015 20:26:18 +0000 (20:26 +0000)]
Remove unused 'Owned' flag from TemplateArgumentList.

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

9 years ago[Frontend] Fix crash when serializing diagnostics with really long text.
Argyrios Kyrtzidis [Thu, 6 Aug 2015 18:46:36 +0000 (18:46 +0000)]
[Frontend] Fix crash when serializing diagnostics with really long text.

rdar://21896690

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

9 years agoFix memory ownership in the NeonEmitter by using values instead of pointers (smart...
David Blaikie [Thu, 6 Aug 2015 18:29:32 +0000 (18:29 +0000)]
Fix memory ownership in the NeonEmitter by using values instead of pointers (smart or otherwise)

Improvement to the memory leak fix in 244196.

Address validity is required for the Intrinsic objects, but since the
collections only ever grow (no elements are removed), deque provides
sufficient guarantees (that the objects will never be reallocated/moved
around) for this use case.

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

9 years ago[OPENMP 4.1] Allow references in init expression for loop-based constructs.
Alexey Bataev [Thu, 6 Aug 2015 12:30:57 +0000 (12:30 +0000)]
[OPENMP 4.1] Allow references in init expression for loop-based constructs.

OpenMP 4.1 allows to use variables with reference types in private clauses and, therefore, in init expressions of the cannonical loop forms.

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

9 years agoMark calls in thunk functions as tail-call optimization candidates
Michael Kuperstein [Thu, 6 Aug 2015 11:57:15 +0000 (11:57 +0000)]
Mark calls in thunk functions as tail-call optimization candidates

When a thunk is generated with a call to the original adjusted function,
the thunk appears in the debugger call stack. We want the backend to perform
tail-call optimization on the call, to make it invisible to the debugger.

This fixes PR24235

Patch by: amjad.aboud@intel.com
Differential Revision: http://reviews.llvm.org/D11476

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

9 years ago[X86] Add support for _MM_ALIGN16
Michael Kuperstein [Thu, 6 Aug 2015 08:24:38 +0000 (08:24 +0000)]
[X86] Add support for _MM_ALIGN16

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

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

9 years agoPlug a memory leak in NeonEmitter: Intrinsics allocated were never released.
Yaron Keren [Thu, 6 Aug 2015 07:28:36 +0000 (07:28 +0000)]
Plug a memory leak in NeonEmitter: Intrinsics allocated were never released.

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

9 years ago[ObjC] Circular containers: add support of subclasses
Alex Denisov [Thu, 6 Aug 2015 04:51:14 +0000 (04:51 +0000)]
[ObjC] Circular containers: add support of subclasses

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

9 years ago[modules] Defer setting up the lookup table for a DeclContext until we can
Richard Smith [Thu, 6 Aug 2015 04:23:48 +0000 (04:23 +0000)]
[modules] Defer setting up the lookup table for a DeclContext until we can
determine the primary context, rather than sometimes registering the lookup
table on the wrong context.

This exposed a couple of bugs:
 * the odr violation check didn't deal properly with mergeable declarations
   if the declaration retained by name lookup wasn't in the canonical
   definition of the class
 * the (broken) RewriteDecl mechanism would emit two name lookup tables for
   the same DeclContext into the same module file (one as part of the
   rewritten declaration and one as a visible update for the old declaration)
These are both fixed too.

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

9 years ago[test] Another attempt to fix the test.
Argyrios Kyrtzidis [Thu, 6 Aug 2015 01:06:55 +0000 (01:06 +0000)]
[test] Another attempt to fix the test.

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

9 years agoRename the non-coding style conformant functions in namespace Builtins
Eric Christopher [Thu, 6 Aug 2015 01:01:12 +0000 (01:01 +0000)]
Rename the non-coding style conformant functions in namespace Builtins
to match the rest of their brethren and reformat the bits that need it.

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

9 years agoDriver: Strip -header-include-file and -diagnostic-log-file from crash repro scripts
Justin Bogner [Wed, 5 Aug 2015 23:49:44 +0000 (23:49 +0000)]
Driver: Strip -header-include-file and -diagnostic-log-file from crash repro scripts

These two arguments tend to refer to a local path that won't exist
when we try to reproduce a bug. Strip them.

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

9 years agoRename DescriptionString -> DataLayoutString as it matches the actual
Eric Christopher [Wed, 5 Aug 2015 23:48:05 +0000 (23:48 +0000)]
Rename DescriptionString -> DataLayoutString as it matches the actual
use of the string.

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

9 years ago[test] Fix tests in non-darwin bots.
Argyrios Kyrtzidis [Wed, 5 Aug 2015 23:44:06 +0000 (23:44 +0000)]
[test] Fix tests in non-darwin bots.

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

9 years agoAdd -fno-coverage-mapping flag.
Diego Novillo [Wed, 5 Aug 2015 23:27:40 +0000 (23:27 +0000)]
Add -fno-coverage-mapping flag.

This new flag allows the user to disable a previous instance of
-fcoverage-mapping, if needed.

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

9 years agofunction_ref-ize ExternalASTSource::FindExternalLexicalDecl and remove its
Richard Smith [Wed, 5 Aug 2015 22:41:45 +0000 (22:41 +0000)]
function_ref-ize ExternalASTSource::FindExternalLexicalDecl and remove its
useless return value. Switch to using it directly when completing the
redeclaration chain for an anonymous declaration, and reduce the set of
declarations that we load in the process to just those of the right kind.

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

9 years agoAdd flags to disable profile generation.
Diego Novillo [Wed, 5 Aug 2015 21:49:51 +0000 (21:49 +0000)]
Add flags to disable profile generation.

This patch adds flags -fno-profile-instr-generate and
-fno-profile-instr-use, and the GCC aliases -fno-profile-generate and
-fno-profile-use.

These flags are used in situations where users need to disable profile
generation or use for specific files in a build, without affecting other
files.

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

9 years agoReword a comment about IncludeDirGroup. NFC
Douglas Katzman [Wed, 5 Aug 2015 21:31:54 +0000 (21:31 +0000)]
Reword a comment about IncludeDirGroup. NFC

Referring to the groups by mixing the enumerated name
with the command-line flag was not as clear as could be.

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

9 years agoRemove unused header includes.
Eric Christopher [Wed, 5 Aug 2015 21:11:56 +0000 (21:11 +0000)]
Remove unused header includes.

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

9 years agoRename builtin_lang -> Langs to match the rest of the code a bit better.
Eric Christopher [Wed, 5 Aug 2015 21:04:28 +0000 (21:04 +0000)]
Rename builtin_lang -> Langs to match the rest of the code a bit better.

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

9 years agoRemove unused function GetBuiltinNames.
Eric Christopher [Wed, 5 Aug 2015 21:04:24 +0000 (21:04 +0000)]
Remove unused function GetBuiltinNames.

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

9 years agoDocumentation: fix another typo, "arrays types" -> "array types".
James Dennett [Wed, 5 Aug 2015 20:58:23 +0000 (20:58 +0000)]
Documentation: fix another typo, "arrays types" -> "array types".

Thanks to Kim Gräsman <kim.grasman@gmail.com> for pointing this out.

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

9 years ago[CMake] Add USES_TERMINAL 1 to ExternalProject_Add_Step calls on 3.3.20150708 and...
Chris Bieneman [Wed, 5 Aug 2015 20:46:39 +0000 (20:46 +0000)]
[CMake] Add USES_TERMINAL 1 to ExternalProject_Add_Step calls on 3.3.20150708 and later.

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

9 years agoRemove unused comparison operators from the Builtin Info struct.
Eric Christopher [Wed, 5 Aug 2015 20:11:04 +0000 (20:11 +0000)]
Remove unused comparison operators from the Builtin Info struct.

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

9 years agoRemove unnecessary ClangLibdirSuffix variable.
Yaron Keren [Wed, 5 Aug 2015 20:06:56 +0000 (20:06 +0000)]
Remove unnecessary ClangLibdirSuffix variable.
Twine + const char * is supported.

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

9 years agoDocumentation: fix a typo, "This flag is determines" -> "This flag determines".
James Dennett [Wed, 5 Aug 2015 19:44:47 +0000 (19:44 +0000)]
Documentation: fix a typo, "This flag is determines" -> "This flag determines".

No functional change.

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

9 years agoAdd -gcodeview and -gdwarf to control which type Clang emits
Reid Kleckner [Wed, 5 Aug 2015 18:51:13 +0000 (18:51 +0000)]
Add -gcodeview and -gdwarf to control which type Clang emits

Summary:
By default, 'clang' emits dwarf and 'clang-cl' emits codeview.  You can
force emission of one or both by passing -gcodeview and -gdwarf to
either driver.

Reviewers: dblaikie, hans

Subscribers: cfe-commits

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

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

9 years ago[AArch64] Enable thread sanitizer on clang
Renato Golin [Wed, 5 Aug 2015 18:42:41 +0000 (18:42 +0000)]
[AArch64] Enable thread sanitizer on clang

With this option, clang can use -fsanitize=thread on AArch64.

Patch by Adhemerval Zanella.

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

9 years agoClaim arguments that belong to 'clang_ignored_gcc_optimization_f_Group'
Douglas Katzman [Wed, 5 Aug 2015 18:03:47 +0000 (18:03 +0000)]
Claim arguments that belong to 'clang_ignored_gcc_optimization_f_Group'

This seems preferable to printing two warnings per unsupported option-
one warning about not supporting it, and one about not using it.
It also makes the '-Wno-' option do what you mean.

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

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

9 years ago[test] Attempt a change to see if it fixes the test for the windows bot.
Argyrios Kyrtzidis [Wed, 5 Aug 2015 17:52:57 +0000 (17:52 +0000)]
[test] Attempt a change to see if it fixes the test for the windows bot.

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

9 years ago[CMake] First pass at adding support for clang bootstrap builds to CMake
Chris Bieneman [Wed, 5 Aug 2015 17:38:12 +0000 (17:38 +0000)]
[CMake] First pass at adding support for clang bootstrap builds to CMake

Summary:
This patch adds a new CLANG_ENABLE_BOOTSTRAP option to CMake which adds targets for building a stage2 bootstrap compiler. The targets are:

bootstrap-configure
bootstrap-build
bootstrap (same as bootstrap-configure and bootstrap-build)
bootstrap-install
bootstrap-check-llvm
bootstrap-check-clang
bootstrap-check-all

If you are using 3.3.20150708 or greater it utilizes the ninja USES_TERMINAL_* settings on the external project so that the output is properly buffered.

Reviewers: bogner, chandlerc

Subscribers: filcab, cfe-commits

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

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

9 years ago[test/Index] Update libclang tests to use libclang for creating PCH files.
Argyrios Kyrtzidis [Wed, 5 Aug 2015 17:23:59 +0000 (17:23 +0000)]
[test/Index] Update libclang tests to use libclang for creating PCH files.

This is consistent and tests the primary configuration we want to test, libclang
creating and consuming PCH files.

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

9 years agoFix a tiny bug in -no-canonical-prefixes that somehow we have never
Chandler Carruth [Wed, 5 Aug 2015 17:07:33 +0000 (17:07 +0000)]
Fix a tiny bug in -no-canonical-prefixes that somehow we have never
noticed until now.

The code for setting up the driver's InstalledDir didn't respect
-no-canonical-prefixes. Because of this, there are a few places in the
driver where we would unexpectedly form absolute paths, notably when
searching for and finding GCC installations to use, etc. The fix is
straightforward, and I've added this path to '-v' both so we can test it
sanely and so that it will be substantially more obvious the next time
someone has to debug something here.

Note that there is another bug that we don't actually *canonicalize* the
installed directory! I don't really want to fix that because I don't
have a realistic way to test the usage of this mode. I suspect that
folks using the shared module cache would care about getting this right
though, and so they might want to address it. I've left the appropriate
FIXMEs so that it is clear what to change, and I've updated the test
code to make it clear what is happening here.

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

9 years agoAdd missing atomic libcall support.
James Y Knight [Wed, 5 Aug 2015 16:57:36 +0000 (16:57 +0000)]
Add missing atomic libcall support.

Support for emitting libcalls for __atomic_fetch_nand and
__atomic_{add,sub,and,or,xor,nand}_fetch was missing; add it, and some
test cases.

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

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

9 years ago[SHAVE] uppercase the CHECK prefixes in 'lit' tests. NFC
Douglas Katzman [Wed, 5 Aug 2015 15:08:54 +0000 (15:08 +0000)]
[SHAVE] uppercase the CHECK prefixes in 'lit' tests. NFC

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