Commit Graph

207 Commits

Author SHA1 Message Date
Louis Dionne
61b0a0088b [libcxx] By default, do not use internal_linkage to hide symbols from the ABI
Summary:
https://reviews.llvm.org/D49240 led to symbol size problems in Chromium, and
we expect this may be the case in other projects built in debug mode too.
Instead, unless users explicitly ask for internal_linkage, we use always_inline
like we used to.

In the future, when we have a solution that allows us to drop always_inline
without falling back on internal_linkage, we can replace always_inline by
that.

Note that this commit introduces a change in contract for existing libc++
users: by default, libc++ used to guarantee that TUs built with different
versions of libc++ could be linked together. With the introduction of the
_LIBCPP_HIDE_FROM_ABI_PER_TU macro, the default behavior is that TUs built
with different libc++ versions are not guaranteed to link. This is a change
in contract but not a change in behavior, since the current implementation
still allows linking TUs built with different libc++ versions together.

Reviewers: EricWF, mclow.lists, dexonsmith, hans, rnk

Subscribers: christof, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@339874 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-16 12:44:28 +00:00
Martin Storsjo
8ddc6c6199 [CMake] Fix the LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY option
This option should be available if LIBCXX_ENABLE_SHARED is enabled,
not LIBCXX_ENABLE_STATIC.

This fixes a typo from SVN r337814.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@339697 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-14 17:33:10 +00:00
Hans Wennborg
db9b3d81a4 Update version to 8.0.0svn: cmake, includes files and docs
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@338555 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-01 13:54:28 +00:00
Eric Fiselier
0be5527dc0 Attempt to unbreak *all the bots*
The bots were failing to build the cxx_filesystem target, so the
tests were failing. Though this does lead me to wonder how it
was ever working with c++experimental.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@338095 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-27 03:42:58 +00:00
Eric Fiselier
a0866c5fb5 Implement <filesystem>
This patch implements the <filesystem> header and uses that
to provide <experimental/filesystem>.

Unlike other standard headers, the symbols needed for <filesystem>
have not yet been placed in libc++.so. Instead they live in the
new libc++fs.a library. Users of filesystem are required to link this
library. (Also note that libc++experimental no longer contains the
definition of <experimental/filesystem>, which now requires linking libc++fs).

The reason for keeping <filesystem> out of the dylib for now is that
it's still somewhat experimental, and the possibility of requiring an
ABI breaking change is very real. In the future the symbols will likely
be moved into the dylib, or the dylib will be made to link libc++fs automagically).

Note that moving the symbols out of libc++experimental may break user builds
until they update to -lc++fs. This should be OK, because the experimental
library provides no stability guarantees. However, I plan on looking into
ways we can force libc++experimental to automagically link libc++fs.

In order to use a single implementation and set of tests for <filesystem>, it
has been placed in a special `__fs` namespace. This namespace is inline in
C++17 onward, but not before that. As such implementation is available
in C++11 onward, but no filesystem namespace is present "directly", and
as such name conflicts shouldn't occur in C++11 or C++14.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@338093 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-27 03:07:09 +00:00
Petr Hosek
47d2a98a33 [CMake] Don't generate linker script only when shared library isn't statically linked
Since r337668, we support statically linking dependencies only to shared
or static library. However, that change hasn't updated the check whether
to generate a linker script. We shouldn't generate linker script only in
the case when we aren't statically linked ABI into the shared library.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@338006 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-26 05:10:24 +00:00
Eric Fiselier
14535e3ad6 Copy LLVM CMake configuration for CMake Policy CMP0068
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@338005 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-26 05:08:30 +00:00
Petr Hosek
162ce3fef4 [CMake] Don't install c++abi headers in standalone libc++ build
This is a refinement on r337833. Previously we were installing two
copies of c++abi headers in libc++ build directory, one in
include/c++build and another one in include/c++/v1. However, the
second copy is unnecessary when building libc++ standalone.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337979 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-25 22:57:39 +00:00
Petr Hosek
89d973a050 [CMake] Option to control whether shared/static library is installed
Currently it's only possible to control whether shared or static library
build of libc++, libc++abi and libunwind is enabled or disabled and
whether to install everything we've built or not. However, it'd be
useful to have more fine grained control, e.g. when static libraries are
merged together into libc++.a we don't need to install libc++abi.a and
libunwind.a. This change adds this option.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337867 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-24 23:27:51 +00:00
Petr Hosek
83f3cdc6a4 [CMake] Fix the setting of LIBCXX_HEADER_DIR in standalone build
This is an alternative approach to r337727 which broke the build
because libc++ headers were copied into the location outside of
directories used by Clang. This change sets LIBCXX_HEADER_DIR to
different values depending on whether libc++ is being built as
part of LLVM w/ per-target multiarch runtime, LLVM or standalone.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337833 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-24 15:49:29 +00:00
Petr Hosek
44ef94a8c9 Reland "[CMake] Support statically linking dependencies only to shared or static library"
This is a reland of commit r337668.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337814 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-24 07:06:17 +00:00
Alex Lorenz
4b61d89c14 Revert r337727 as it caused Darwin bot failures
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337782 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-24 00:27:31 +00:00
Heejin Ahn
80412b50ea [CMake] Fix the setting of LIBCXX_HEADER_DIR
Reviewers: phosek

Subscribers: mgorny, christof, ldionne, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337727 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-23 18:58:12 +00:00
Petr Hosek
78c3548b88 Revert "[CMake] Support statically linking dependencies only to shared or static library"
This reverts commit r337668: broke the cxxabi build when using Make.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337670 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-23 05:07:44 +00:00
Petr Hosek
24acfd881a [CMake] Support statically linking dependencies only to shared or static library
Currently it's possible to select whether to statically link unwinder
or the C++ ABI library, but this option applies to both the shared
and static library. However, in some scenarios it may be desirable to
only statically link unwinder and C++ ABI library into static C++
library since for shared C++ library we can rely on dynamic linking
and linker scripts. This change enables selectively enabling or
disabling statically linking only to shared or static library.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337668 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-23 04:19:55 +00:00
Petr Hosek
f51cf5e75e [CMake] Set per-runtime library directory suffix in runtimes build
Do not use LLVM_RUNTIMES_LIBDIR_SUFFIX variable which is an internal
variable used by the runtimes build from individual runtimes, instead
set per-runtime librarhy directory suffix variable which is necessary
for the sanitized runtimes build to install libraries into correct
location.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@336713 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-10 19:13:33 +00:00
Petr Hosek
4d66f0966a Support for multiarch runtimes layout
This change adds a support for multiarch style runtimes layout, so in
addition to the existing layout where runtimes get installed to:

lib/clang/$version/lib/$os

Clang now allows runtimes to be installed to:

lib/clang/$version/$target/lib

This also includes libc++, libc++abi and libunwind; today those are
assumed to be in Clang library directory built for host, with the
new layout it is possible to install libc++, libc++abi and libunwind
into the runtime directory built for different targets.

The use of new layout is enabled by setting the
LLVM_ENABLE_RUNTIME_TARGET_DIR CMake variable and is supported by both
projects and runtimes layouts. The runtimes CMake build has been further
modified to use the new layout when building runtimes for multiple
targets.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@335809 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-28 03:11:52 +00:00
Petr Hosek
5558aff7ce [CMake] Set the default ABI version for Fuchsia in CMake as well
This is neeeded since the CMake value is used for the SOVERSION.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@329983 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-13 01:59:15 +00:00
Dimitry Andric
524afaedd1 Add default C++ ABI libname and include paths for FreeBSD
Summary:
As noted in a discussion about testing the LLVM 6.0.0 release candidates
(with libc++) for FreeBSD, many tests turned out to fail with
"exception_ptr not yet implemented".  This was because libc++ did not
choose the correct C++ ABI library, and therefore it fell back to the
`exception_fallback.ipp` header.

Since FreeBSD 10.x, we have been using libcxxrt as our C++ ABI library,
and its headers have always been installed in /usr/include/c++/v1,
together with the (system) libc++ headers.  (Older versions of FreeBSD
used GNU libsupc++ by default, but these are now unsupported.)

Therefore, if we are building libc++ for FreeBSD, set:
* `LIBCXX_CXX_ABI_LIBNAME` to "libcxxrt"
* `LIBCXX_CXX_ABI_INCLUDE_PATHS` to "/usr/include/c++/v1"
by default.

Reviewers: emaste, EricWF, mclow.lists

Reviewed By: EricWF

Subscribers: mgorny, cfe-commits, krytarowski

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@324855 91177308-0d34-0410-b5e6-96231b3b80d8
2018-02-11 22:31:05 +00:00
Don Hinton
65d4ee3df0 [cmake] [libcxx] Fix find_path() problems when cross compiling.
When CMAKE_SYSROOT or CMAKE_FIND_ROOT_PATH is set, cmake
recommends setting CMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
globally which means find_path() always prepends CMAKE_SYSROOT or
CMAKE_FIND_ROOT_PATH to all paths used in the search.

However, this find_path() invocation is looking for a path in the
libcxxabi project on the host system, not the target system,
which can be done by passing NO_CMAKE_FIND_ROOT_PATH.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@323143 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-22 19:26:38 +00:00
Martin Storsjo
16eb426933 [cmake] Add a config option LIBCXX_HAS_WIN32_THREAD_API for enforcing win32 threads
This allows keeping libcxx using win32 threads even if a
version of pthread.h is installed.

This matches the existing cmake option LIBCXX_HAS_PTHREAD_API.

Also add missing documentation about the internal define
_LIBCPP_HAS_THREAD_API_WIN32.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@321896 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-05 20:48:29 +00:00
Hans Wennborg
ac3c89d6a3 Update version to 7.0.0svn: cmake, include files and docs
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@321725 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-03 15:40:29 +00:00
Petr Hosek
aec189a8d1 Include AddLLVM needed for tests in the right context
AddLLVM is needed for several functions that are used in tests and
as such needs to be included from the right context which previously
wasn't the case.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@319515 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-01 03:16:50 +00:00
Shoaib Meenai
18dba06924 [libc++] Support Microsoft ABI without vcruntime headers
The vcruntime headers are hairy and clash with both libc++ headers
themselves and other libraries. libc++ normally deals with the clashes
by deferring to the vcruntime headers and silencing its own definitions,
but for clients which don't want to depend on vcruntime headers, it's
desirable to support the opposite, i.e. have libc++ provide its own
definitions.

Certain operator new/delete replacement scenarios are not currently
supported in this mode, which requires some tests to be marked XFAIL.
The added documentation has more details.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@315234 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-09 19:25:17 +00:00
Shoaib Meenai
7762784b98 [libc++] Clarify names of ABI forcing macros
Make it clear that these are intended only to force a specific ABI when
the autodetection would give the wrong result by renaming the cmake
options and adding separate forcing macros, as suggested by EricWF in
the post-commit review of r314949 and further discussed on IRC.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@314965 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-05 02:18:08 +00:00
Shoaib Meenai
f7e9063861 [libc++] Move cache variable definition. NFC
Move it to where the other ABI cache variables/options are defined.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@314950 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-04 23:51:57 +00:00
Shoaib Meenai
36d0ee6c87 [libc++] Allow users to explicitly specify ABI
libc++'s current heuristic for detecting Itanium vs. Microsoft ABI falls
short in some cases. For example, it will detect windows-itanium targets
as using the Microsoft ABI, since they set `_MSC_VER` (for compatibility
with Microsoft headers). Leave the current heuristic in place by default
but also allow users to explicitly specify the ABI if need be.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@314949 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-04 23:44:38 +00:00
Shoaib Meenai
2bba98eea0 [libc++] Add site config option for ABI macros
Some ABI macros affect headers, so it's nice to have a site config
option for them. Add a LIBCXX_ABI_DEFINES cmake macro to allow
specifying a list of ABI macros to define in the site config.

The primary design constraint (as discussed with Eric on IRC a while
back) was to not have to repeat the ABI macro names in cmake, which only
leaves a free-form cmake list as an option. A somewhat unfortunate
consequence is that we can't verify that the ABI macros being defined
actually exist, though we can at least perform some basic sanity
checking, since all the ABI macros begin with _LIBCPP_ABI_.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@314946 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-04 23:17:12 +00:00
Zachary Turner
7a87049e47 Resubmit "Fix llvm-lit script generation in libcxx."
After speaking with the libcxx owners, they agreed that this is
a bug in the bot that needs to be fixed by the bot owners, and
the CMake changes are correct.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@313643 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-19 17:19:10 +00:00
Zachary Turner
81306615ac Revert "Fix llvm-lit script generation in libcxx."
This reverts commit 4ad71811d45268d81b60f27e3b8b2bcbc23bd7b9.

There is a bot that is checking out libcxx and lit with nothing
else and then running lit.py against the test tree.  Since there's
no LLVM source tree, there's no LLVM CMake.  CMake actually
reports this as a warning saying unsupported libcxx configuration,
but I guess someone is depending on it anyway.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@313607 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-19 03:11:35 +00:00
Zachary Turner
2205438c1f Fix llvm-lit script generation in libcxx.
Differential Revision: https://reviews.llvm.org/D37997

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@313606 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-19 02:46:28 +00:00
Shoaib Meenai
0a2af12aff [libc++] Prevent stale site configuration headers
If we define cmake macros that require a site config, and then undefine
all such macros, a stale site config header will be left behind.
Explicitly delete any generate site config if we don't need one to avoid
this.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@313284 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-14 18:23:43 +00:00
Hans Wennborg
12ab658921 Update _LIBCPP_VERSION and the version in CMakeLists to 6.0
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@308468 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-19 13:57:10 +00:00
Petr Hosek
347be61138 [libcxx][CMake] Add install path variable to allow overriding the destination
This is going to be used by the runtime build in the multi-target
setup to allow using different install prefix for each target.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@307615 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-11 02:39:50 +00:00
Reid Kleckner
bfe423eeb3 Fix discovery of cxxabi.h in the monorepo layout
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@305841 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-20 20:34:13 +00:00
Eric Fiselier
737c3bf25e Add <experimental/coroutine>
This patch adds the library portions of the coroutines PDTS,
which should now be supported by Clang.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@303836 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-25 04:36:24 +00:00
Eric Fiselier
74abe0b15f test commit
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302122 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-04 06:28:34 +00:00
Eric Fiselier
7d96f16173 test commit
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302120 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-04 06:27:06 +00:00
Jonas Hahnfeld
f77a7df6f2 [libcxx][CMake] Set library dir when built under runtimes/
This will put libraries into the build root's lib/ directory by default.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302117 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-04 06:02:50 +00:00
Duncan P. N. Exon Smith
59a094fac7 CMake: Only add test/ subdirectory when it exists
r296685 started adding the test/ subdirectory even when
LIBCXX_INCLUDE_TESTS=OFF.  This is great for testing libcxx standalone,
but it also breaks the build when the test/ subdirectory is removed
(and our submission system strips all test/ directories).

This patch updates the logic to check for test/ before adding it.

rdar://problem/31931366

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302095 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-03 23:33:54 +00:00
Shoaib Meenai
3d1d1eab22 [libc++] Default to vcruntime when targeting MSVC
Summary:
libc++abi is never the right option for LIBCXX_TARGETING_MSVC, since it
targets the Itanium ABI, whereas MSVC uses the Microsoft ABI. Make the
default ABI be vcruntime when targeting MSVC even if libc++abi is
present in the tree.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300921 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-20 23:33:49 +00:00
Eric Fiselier
5bf8bed958 Disable the filesystem library on Windows by default
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300820 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-20 04:24:29 +00:00
Petr Hosek
cebb3e984f [CMake][libcxx] Fix the --target and --gcc-toolchain flag handling
CMake has the problem with the single dash variant because of the
space, so use the double dash with equal sign version. We also
don't have to pass the target triple when checking for compiler-rt
since that flag is already included in compile flags now.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300409 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-16 02:25:55 +00:00
Shoaib Meenai
b975b451af [libc++] Explicitly set output directory for DLL
DLLs on Windows are treated as runtime targets. Explicitly set the
output directory for them, to be consistent with other platforms.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300206 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-13 16:27:38 +00:00
Eric Fiselier
f3b3a65d89 suppress GCC warning about noexcept functions changing mangling
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@299385 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-03 20:53:15 +00:00
Shoaib Meenai
68fdad67e3 [libc++] Fix some comment typos
Remove a stray letter, add a missing letter. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@298766 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-25 03:42:20 +00:00
Shoaib Meenai
f23e281656 [libc++] Fix word transposition in comment
"to due" -> "due to". No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@298764 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-25 03:29:51 +00:00
Shoaib Meenai
e577401c13 [libc++] Fix capitalization in comment
Fix a stray capital letter in the middle of a sentence. No functional
change.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@298763 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-25 03:22:35 +00:00
Shoaib Meenai
5b0087fc62 [libc++] Update package version
Make it consistent with the rest of LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@298762 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-25 03:12:37 +00:00
Eric Fiselier
c51e0d21a1 Change test coverage generation to use llvm-cov instead of gcov.
Clang doesn't produce gcov compatible coverage files. This
causes lcov to break because it uses gcov by default. This
patch switches lcov to use llvm-cov as the gcov-tool.

Unfortunatly llvm-cov doesn't provide a gcov like interface by
default so it won't work with lcov. However `llvm-cov gcov` does.
For this reason we generate 'llvm-cov-wrapper' script that always
passes the gcov flag.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297553 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-11 03:24:18 +00:00