blob: 4cf5182a7f33cb2108391f9c05da371fdefdb690 [file] [log] [blame]
Louis Dionne42222072018-09-06 14:46:22 +00001========================================
2Libc++ 8.0.0 (In-Progress) Release Notes
3========================================
4
5.. contents::
6 :local:
7 :depth: 2
8
Hans Wennborg3329a842018-09-10 08:57:12 +00009Written by the `Libc++ Team <https://libcxx.llvm.org>`_
Louis Dionne42222072018-09-06 14:46:22 +000010
11.. warning::
12
13 These are in-progress notes for the upcoming libc++ 8 release.
14 Release notes for previous releases can be found on
Hans Wennborg3329a842018-09-10 08:57:12 +000015 `the Download Page <https://releases.llvm.org/download.html>`_.
Louis Dionne42222072018-09-06 14:46:22 +000016
17Introduction
18============
19
20This document contains the release notes for the libc++ C++ Standard Library,
21part of the LLVM Compiler Infrastructure, release 8.0.0. Here we describe the
22status of libc++ in some detail, including major improvements from the previous
23release and new feature work. For the general LLVM release notes, see `the LLVM
Hans Wennborg3329a842018-09-10 08:57:12 +000024documentation <https://llvm.org/docs/ReleaseNotes.html>`_. All LLVM releases may
25be downloaded from the `LLVM releases web site <https://llvm.org/releases/>`_.
Louis Dionne42222072018-09-06 14:46:22 +000026
27For more information about libc++, please see the `Libc++ Web Site
Hans Wennborg3329a842018-09-10 08:57:12 +000028<https://libcxx.llvm.org>`_ or the `LLVM Web Site <https://llvm.org>`_.
Louis Dionne42222072018-09-06 14:46:22 +000029
30Note that if you are reading this file from a Subversion checkout or the
31main Libc++ web page, this document applies to the *next* release, not
32the current one. To see the release notes for a specific release, please
Hans Wennborg3329a842018-09-10 08:57:12 +000033see the `releases page <https://llvm.org/releases/>`_.
Louis Dionne42222072018-09-06 14:46:22 +000034
35What's New in Libc++ 8.0.0?
36===========================
37
38New Features
39------------
40
41API Changes
42-----------
Louis Dionneb0ea6bd2018-10-16 00:31:32 +000043- Building libc++ for Mac OSX 10.6 is not supported anymore.
Louis Dionne3b8a03f2018-10-29 17:30:04 +000044- Starting with LLVM 8.0.0, users that wish to link together translation units
45 built with different versions of libc++'s headers into the same final linked
46 image MUST define the _LIBCPP_HIDE_FROM_ABI_PER_TU macro to 1 when building
47 those translation units. Not defining _LIBCPP_HIDE_FROM_ABI_PER_TU to 1 and
48 linking translation units built with different versions of libc++'s headers
49 together may lead to ODR violations and ABI issues. On the flipside, code
50 size improvements should be expected for everyone not defining the macro.