#
7a6dacac |
|
24-Jan-2024 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-18-init-18359-g93248729cfae This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the last commit before the upstream release/18.x branch was created. PR: 276104 MFC after: 1 month
|
#
297eecfb |
|
11-Jan-2024 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424. PR: 276104 MFC after: 1 month
|
#
cb14a3fe |
|
25-Dec-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a. PR: 276104 MFC after: 1 month
|
#
5f757f3f |
|
18-Dec-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb. PR: 276104 MFC after: 1 month
|
#
87eea35e |
|
20-Dec-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Add missing /usr/include/c++/v1/__mdspan/mdspan.h header I missed this header while updating the Makefile for libc++ 17. PR: 273753 MFC after: 1 month |
#
06c3fb27 |
|
02-Sep-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the last commit before the upstream release/17.x branch was created. PR: 273753 MFC after: 1 month
|
#
d0b2dbfa |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/ |
#
bdd1243d |
|
14-Apr-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16-init-18548-gb0daacf58f41. PR: 271047 MFC after: 1 month
|
#
61cfbce3 |
|
13-Aug-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project release/15.x llvmorg-15.0.0-rc2-40-gfbd2950d8d0d This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.0-rc2-40-gfbd2950d8d0d. PR: 265425 MFC after: 2 weeks
|
#
972a253a |
|
27-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-17826-g1f8ae9d7e7e4, the last commit before the upstream release/16.x branch was created. PR: 265425 MFC after: 2 weeks
|
#
fcaf7f86 |
|
24-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-17485-ga3e38b4a206b This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-17485-ga3e38b4a206b. PR: 265425 MFC after: 2 weeks
|
#
753f127f |
|
14-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-16436-g18a6ab5b8d1f This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-16436-g18a6ab5b8d1f. PR: 265425 MFC after: 2 weeks
|
#
81ad6265 |
|
04-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-15358-g53dc0f10787. PR: 265425 MFC after: 2 weeks
|
#
53683b95 |
|
07-Apr-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Apply libc++ fix for <ranges> not compiling at all Merge commit 44cdca37c01a from llvm git (by Arthur O'Dwyer): [libc++] Define `namespace views` in its own detail header. Discovered in the comments on D118748: we would like this namespace to exist anytime Ranges exists, regardless of whether concepts syntax is supported. Also, we'd like to fully granularize the <ranges> header, which means not putting any loose declarations at the top level. Differential Revision: https://reviews.llvm.org/D118809 |
#
1fd87a68 |
|
05-Feb-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before the upstream release/14.x branch was created. PR: 261742 MFC after: 2 weeks
|
#
04eeddc0 |
|
27-Jan-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-17616-g024a1fab5c35. PR: 261742 MFC after: 2 weeks
|
#
4824e7fd |
|
02-Dec-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-11187-g222442ec2d71 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-11187-g222442ec2d71. PR: 261742 MFC after: 2 weeks
|
#
5e801ac6 |
|
20-Nov-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-10223-g401b76fdf2b3. PR: 261742 MFC after: 2 weeks
|
#
c00d3456 |
|
10-Feb-2022 |
John Baldwin <jhb@FreeBSD.org> |
Install unwind.h into /usr/include Install headers from LLVM's libunwind in place of the headers from libcxxrt and allow C applications to use the library. As part of this, remove include/unwind.h and switch libthr over to using the installed unwind.h. Reviewed by: dim, emaste MFC after: 10 days Differential Revision: https://reviews.freebsd.org/D34065 |
#
5e6a2d6e |
|
30-Dec-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Reapply: move libc++ from /usr/lib to /lib As with other runtime components like libc or libcxxrt. If desired we can stop linking devd statically after this change (to achive approximately no net change in required root filesystem size). We must set SHLIBDIR with ?= before including <src.opts.mk>, otherwise that will have set SHBLIDIR to its default value of /usr/lib. Otherwise, "make delete-old-libs" would suggest to delete libc++.so.1 from /usr/lib, while there was not yet a copy in /lib. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33123 |
#
b6f7942c |
|
30-Dec-2021 |
Ed Maste <emaste@FreeBSD.org> |
Revert "Move libc++ from /usr/lib to /lib" This reverts commit 6b1c5775d1c29c7c42201254df82aca9f3820bc8. There are reports of errors with this change. Reported by: antoine |
#
6b1c5775 |
|
29-Dec-2021 |
Ed Maste <emaste@FreeBSD.org> |
Move libc++ from /usr/lib to /lib As with other runtime components like libc or libcxxrt. If desired we can stop linking devd statically after this change (to achive approximately no net change in required root filesystem size). Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33123 |
#
6e75b2fb |
|
25-Aug-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a. PR: 258209 MFC after: 2 weeks
|
#
d409305f |
|
26-Apr-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project 12.0.0 release This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release. PR: 255570 MFC after: 6 weeks
|
#
95aa617e |
|
03-Jun-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Add C++ headers <barrier> <concepts> <execution> <latch> <numbers> <semaphore> I missed adding these to the libc++ Makefile, when importing llvm-project 11.0.0-rc1, even though they were supplied by upstream. While here, update OptionalObsoleteFiles.inc to add these new headers, and cleanup old cruft. Reported by: yuri Submitted by: jkim (Makefile diff) PR: 255374 MFC after: 3 days |
#
ecebb3cc |
|
11-Sep-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Only set WARNS if not defined This would allow interested parties to do experimental runs with an environment set appropriately to raise all the warnings throughout the build; e.g. env WARNS=6 NO_WERROR=yes buildworld. Not currently touching the numerous instances in ^/tools. MFC after: 1 week |
#
c37f312d |
|
21-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Add a few new source files to libc++, in particular the implementation part of std::random_shuffle. These were split off at some point by upstream, but I forgot to add them to our Makefile. This should allow some ports which use std::random_shuffle to correctly link again. Reported by: thierry PR: 248795 MFC after: 6 weeks X-MFX-With: r364284 |
#
da759cfa |
|
10-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Remove -mlong-calls vhen building arm libraries and llvm. Clang from 9.0.0 onwards already has the necessary relocation range extenders, so this workaround is no longer needed (it produces longer and slower code). Tested on real hardware, and in cross-compile environment. Submitted by: mmel |
#
97e6bc16 |
|
27-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for libc++. |
#
4b50c451 |
|
14-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Revert r353140: Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around arichardson has an actual fix for the same issue that this was working around; given that we don't build with llvm today, go ahead and revert the workaround in advance. |
#
0b57cec5 |
|
20-Dec-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Move all sources from the llvm project into contrib/llvm-project. This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. |
#
8b3bc70a |
|
08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352764 through r353315.
|
#
036d2e81 |
|
05-Oct-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around Diff partially stolen from CheriBSD; these bits need -Wl,-z,notext in order to build in an LLVM world. They are needed for all flavors/sizes of MIPS. This will eventually get fixed in LLVM, but it's unclear when. Reported by: arichardson, emaste Differential Revision: https://reviews.freebsd.org/D21696 |
#
b0d4288f |
|
28-Aug-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for building libc++. |
#
1109b774 |
|
22-Apr-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Rework CXXSTD setting via r345708 This change allows the user to once again override the C++ standard, restoring high-level pre-r345708 behavior. This also unbreaks building lib/ofed/libibnetdisc/Makefile with a non-C++11 capable compiler, e.g., g++ 4.2.1, as the library supported being built with older C++ standards. MFC after: 2 weeks MFC with: r345708 Reviewed by: emaste Reported by: jbeich Differential Revision: https://reviews.freebsd.org/D19895 (as part of a larger change) |
#
e8067928 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 |
#
bdbf3440 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345706: the third time will be the charm When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and repeated my mistake from r345704 by accident mixing content from D19732 and D19738. For my own personal sanity, I will try not to mix reviews like this in the future. MFC after: 1 month MFC with: r345706 Approved by: emaste (mentor, implicit) |
#
760b1a81 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 |
#
752cabaa |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345704 I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704. Approved by: emaste (mentor, implicit) MFC after: 2 months MFC with: r345704 |
#
9a41926b |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
CXXSTD is the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19732 |
#
58a7b5d6 |
|
22-Jan-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ build glue, and ObsoleteFiles. |
#
488aa40a |
|
02-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ and libc++experimental Makefiles, add libc++fs Makefile, and update OptionalObsoleteFiles.inc for new additions. |
#
c4394386 |
|
13-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r307894, and update build glue.
|
#
24d58133 |
|
16-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r305575, and update build glue.
|
#
f9448bf3 |
|
01-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304460, and update build glue.
|
#
302affcb |
|
29-May-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304149, and update build glue.
|
#
540d2a8b |
|
22-Apr-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ trunk r300890, and update build glue.
|
#
5d77776c |
|
19-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Belatedly add variant.cpp to libc++. This completes the support for the upcoming C++17 std::variant template. |
#
3f910b91 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Update the libc++ Makefile to be more like the other llvm and clang Makefiles. |
#
80779b37 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ trunk r291476, update Makefile, ObsoleteFiles.inc and OptionalObsoleteFiles.inc.
|
#
7b173dd6 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Add additional libc++ 4.0.0 headers. |
#
aed8d94e |
|
08-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ r291274, and update the library Makefile.
|
#
629582ca |
|
10-Dec-2016 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Now that external gcc directly natively links to libc++ we can remove the dirty hack made to fake libstdc++ |
#
7c82a1ec |
|
30-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to release_39 branch r279689.
|
#
f661dbee |
|
29-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
GCC External: Revert r300886, r300904, r300917, r300918 The fix in r300873 is mostly enough. A fix for lib32 will be committed.separately. |
#
1766eeaf |
|
28-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Use a relative symlink for proper --sysroot support. Sponsored by: EMC / Isilon Storage Division |
#
ce00342b |
|
27-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Move external GCC compiler hacks to bsd.sys.mk. This allows respecting -nostdinc, -nostdinc++ and -nostdlib before making the decision to add in -isystem, etc. The -isystem flags are problematic for building lib/libc++ and lib/libcxxrt which wants to only use its own headers. More information the need of these flags can be found at https://gcc.gnu.org/ml/gcc/2016-03/msg00219.html This also reverts r300873. Sponsored by: EMC / Isilon Storage Division |
#
09210a28 |
|
27-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
After r300770, for libc++ and libcxxrt, use -isystem instead of -I. This should fix builds with external gcc toolchains from ports, which also use -isystem to work around problems with gcc's --sysroot implementation. Thanks to Bryan Drewery for this workaround. |
#
9729cf09 |
|
26-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to 3.8.0. Excerpted list of fixes (with upstream revision numbers): r242679 Implement the plugin-based version of std::search. There are no searchers yet; those are coming soon. r242682 Implement the default searcher for std::experimental::search. r243728 Add <experimental/any> v2. r245330 implement more of N4258 - Cleaning up noexcept in the standard library. Specifically add new noexcept stuff to vector and string's move-assignment operations r245334 Fix PR22606 - Leak pthread_key with static storage duration to ensure all of thread-local destructors are called. r245335 Fix PR23589: std::function doesn't recognize null pointer to varargs function. r247036 Implementation of Boyer-Moore and Boyer-Moore-Horspool searchers for the LFTS. r249325 Implement LWG#2063, and update the issues links to point to the github generated pages r249738 Split <ctype.h> out of <cctype>. r249739 Split <errno.h> out of <cerrno>. r249740 Split <float.h> out of <cfloat>. r249741 Split <inttypes.h> out of <cinttypes>. r249742 Split <math.h> out of <cmath>. r249743 Split <setjmp.h> out of <csetjmp>. r249761 Split <stddef.h> out of <cstddef>. r249798 Split <stdio.h> out of <cstdio>. r249800 Split <stdlib.h> out of <cstdlib>. r249889 Split <wchar.h> out of <cwchar>. r249890 Split <wctype.h> out of <cwctype>. r249929 Split <string.h> out of <cstring>. r250254 ABI versioning macros for libc++. r251246 Fix LWG#2244: basic_istream::seekg r251247 Fix LWG#2127: Move-construction with raw_storage_iterator. r251253 Fix LWG#2476: scoped_allocator_adaptor is not assignable r251257 Fix LWG#2489: mem_fn() should be noexcept r251618 Implement P0004R1 'Remove Deprecated iostreams aliases' r251766 Implement the first part of P0006R0: Adopt Type Traits Variable Templates for C++17. r252195 Implement P0092R1 for C++1z r252350 Allow deque to handle incomplete types. r252406 More of P0006R0: type traits variable aliases for C++17. r252407 Implement LWG#2353: std::next is over-constrained r252905 Implement P0074: Making owner_less more flexible r253215 Implement P0013R1: Logical Operator Type Traits. r253274 Implement P0007: Constant View: A proposal for a std::as_const helper function template. r254119 Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. r254283 Implement more of P0006; Type Traits Variable Templates. r255941 LWG2485: get() should be overloaded for const tuple&&. r256325 Fix LWG Issue #2367 - Fixing std::tuple and std::pair's default constructors. r256652 Fix for ALL undefined behavior in <list>. r256859 First half of LWG#2354: 'Unnecessary copying when inserting into maps with braced-init syntax' Exp-run: antoine Relnotes: yes
|
#
53835448 |
|
14-Mar-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH Sponsored by: The FreeBSD Foundation
|
#
7533aa15 |
|
11-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Add missing CLEANFILES. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division |
#
c389411c |
|
05-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
Remove libc, librtld_db, libthr packages, and further increase the constraints on what needs to be installed in a specific to maintain consistency during upgrades. Create a new clibs package containing libraries that are needed as a bare minimum for consistency. With much help and input from: kib Sponsored by: The FreeBSD Foundation |
#
a70cba95 |
|
04-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
First pass through library packaging. Sponsored by: The FreeBSD Foundation |
#
c455b924 |
|
14-Jan-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Set -mlong-calls where needed to get a static clang and lldb 3.8.0 linking. These are too large for a branch instruction to branch from an earlier point in the code to somewhere later. This will also allow these to be build with Thumb-2 when we get this infrastructure. Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D4855 |
#
a9f9ec24 |
|
03-Dec-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Replace ln -s calls with INSTALL_SYMLINK Sponsored by: EMC / Isilon Storage Division |
#
3c89d6b0 |
|
01-Dec-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Don't override LIB*DIR variables from src.libnames.mk. In some cases switch to the LIB*SRCDIR value. These recently were defined in r291327 and r291619. Sponsored by: EMC / Isilon Storage Division |
#
1e36b7df |
|
30-Nov-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META MODE: Libc++ does in fact need Libcxxrt. There seems to be no cyclic dependency here. This partially reverts r283595 which had no explanation for the change. Sponsored by: EMC / Isilon Storage Division |
#
b791fbe6 |
|
25-Nov-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META MODE: Don't create .meta files when symlinking sources into the obj directory. Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine. Sponsored by: EMC / Isilon Storage Division |
#
602af66b |
|
06-Oct-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Stop linking libc++.so verbosely, there is no need to. MFC after: 3 days |
#
854fa44b |
|
16-Sep-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to 3.7.0 release.
|
#
98e0ffae |
|
26-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge sync of head
|
#
d72607e9 |
|
15-Jan-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Import libc++ trunk r224926. This fixes a number of bugs, completes C++14 support[1], adds more C++1z features[2], and fixes the following LWG issues[3]: 1450: Contradiction in regex_constants 2003: String exception inconsistency in erase. 2075: Progress guarantees, lock-free property, and scheduling assumptions 2104: unique_lock move-assignment should not be noexcept 2112: User-defined classes that cannot be derived from 2132: std::function ambiguity 2135: Unclear requirement for exceptions thrown in condition_variable::wait() 2142: packaged_task::operator() synchronization too broad? 2182: Container::[const_]reference types are misleadingly specified 2186: Incomplete action on async/launch::deferred 2188: Reverse iterator does not fully support targets that overload operator& 2193: Default constructors for standard library containers are explicit 2205: Problematic postconditions of regex_match and regex_search 2213: Return value of std::regex_replace 2240: Probable misuse of term "function scope" in [thread.condition] 2252: Strong guarantee on vector::push_back() still broken with C++11? 2257: Simplify container requirements with the new algorithms 2258: a.erase(q1, q2) unable to directly return q2 2263: Comparing iterators and allocator pointers with different const-character 2268: Setting a default argument in the declaration of a member function assign of std::basic_string 2271: regex_traits::lookup_classname specification unclear 2272: quoted should use char_traits::eq for character comparison 2278: User-defined literals for Standard Library types 2280: begin / end for arrays should be constexpr and noexcept 2285: make_reverse_iterator 2288: Inconsistent requirements for shared mutexes 2291: std::hash is vulnerable to collision DoS attack 2293: Wrong facet used by num_put::do_put 2299: Effects of inaccessible key_compare::is_transparent type are not clear 2301: Why is std::tie not constexpr? 2304: Complexity of count in unordered associative containers 2306: match_results::reference should be value_type&, not const value_type& 2308: Clarify container destructor requirements w.r.t. std::array 2313: tuple_size should always derive from integral_constant<size_t, N> 2314: apply() should return decltype(auto) and use decay_t before tuple_size 2315: weak_ptr should be movable 2316: weak_ptr::lock() should be atomic 2317: The type property queries should be UnaryTypeTraits returning size_t 2320: select_on_container_copy_construction() takes allocators, not containers 2322: Associative(initializer_list, stuff) constructors are underspecified 2323: vector::resize(n, t)'s specification should be simplified 2324: Insert iterator constructors should use addressof() 2329: regex_match()/regex_search() with match_results should forbid temporary strings 2330: regex("meow", regex::icase) is technically forbidden but should be permitted 2332: regex_iterator/regex_token_iterator should forbid temporary regexes 2339: Wording issue in nth_element 2341: Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) 2344: quoted()'s interaction with padding is unclear 2346: integral_constant's member functions should be marked noexcept 2350: min, max, and minmax should be constexpr 2356: Stability of erasure in unordered associative containers 2357: Remaining "Assignable" requirement 2359: How does regex_constants::nosubs affect basic_regex::mark_count()? 2360: reverse_iterator::operator*() is unimplementable [1] http://libcxx.llvm.org/cxx1y_status.html [2] http://libcxx.llvm.org/cxx1z_status.html [3] http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html Exp-run: antoine MFC after: 1 month
|
#
6b129086 |
|
25-Nov-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Convert libraries to use LIBADD While here reduce a bit overlinking |
#
aa7703be |
|
21-Oct-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
When using an external gcc 4.8+ and not building libstdc++ then create in the objectdir a fake libstdc++.so and libstdc++.a which is a symlink on libc++ that allow g++ to satisfy its links dependencies in the least hackish way. Please note that this hacky libstds++ never get installed on the final system Reviewed by: imp |
#
c71728df |
|
25-Aug-2014 |
Roman Divacky <rdivacky@FreeBSD.org> |
The standard we compile libc++ with is called c++11 not c++0x. |
#
4f7ab58e |
|
30-Jan-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Import libc++ 3.4 release. This contains a lot of bugfixes, and some preliminary support for C++1y. MFC after: 3 weeks
|
#
c354d333 |
|
04-Sep-2013 |
David Chisnall <theraven@FreeBSD.org> |
Add a c++/v1/tr1 include directory containing symlinks to all of the standard headrs. Lots of third-party code expects to find C++03 headers under tr1 because that's where GNU decided to hide them. This should fix ports that expect them there. MFC after: 1 week |
#
e669ff37 |
|
03-Aug-2013 |
Dimitry Andric <dim@FreeBSD.org> |
After r253839, which modifies ld's behaviour to not automatically pull in needed libraries, change libc++.so into a linker script, so it can automatically pull in libcxxrt.so. MFC after: 1 week |
#
a006bb4b |
|
01-Nov-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Fix broken macro checking in the libc++ Makefile, introduced in r241909. This caused -std=c++0x not to be passed to the build by default. Pointy hat to: dim MFC after: 3 days |
#
cb554de2 |
|
22-Oct-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Allow building libc++ with any custom -std=xxx flag. Note that using -std=gnu++98 will give a lot of warnings with clang, so please use -std=c++0x or higher, or use NO_WERROR. MFC after: 1 week |
#
15e154df |
|
25-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Add libcxxrt's objects (prefixing them with cxxrt_ to avoid collisions) to libc++.a and libc++_p.a, to make static linking of C++ executables with libc++ easier. This is similar to the approach used in libstdc++. MFC after: 2 weeks |
#
cd38c408 |
|
02-Jun-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Install libcxxrt's C++ ABI and unwind headers. This is done in libc++'s Makefile, so these headers go into the same destination directory as libc++'s own headers, currently /usr/include/c++/v1. MFC after: 3 days |
#
01dd3d87 |
|
02-Jun-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Tabify libcxxrt and libc++'s Makefiles. MFC after: 3 days |
#
15d321c5 |
|
17-Mar-2012 |
Peter Wemm <peter@FreeBSD.org> |
Make sure libgcc_s is finished building in _startup_libs before building libcxxrt with high -j levels. The workaround in libc++/Makefile isn't necessary once that race is solved. Reviewed by: theravin |
#
94e3ee44 |
|
13-Mar-2012 |
David Chisnall <theraven@FreeBSD.org> |
Import new versions of libcxxrt and libc++. Please tests any C++ code you care about with -stdlib=libc++! Approved by: dim (mentor)
|
#
7a984708 |
|
25-Nov-2011 |
David Chisnall <theraven@FreeBSD.org> |
Import libc++ / libcxxrt into base. Not build by default yet (use MK_LIBCPLUSPLUS=yes to enable). This is a work-in-progress. It works for me, but is not guaranteed to work for anyone else and may eat your dog. To build C++ using libc++, add -stdlib=libc++ to your CXX and LD flags. Bug reports welcome, bug fixes even more welcome... Approved by: dim (mentor)
|
#
87eea35e |
|
20-Dec-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Add missing /usr/include/c++/v1/__mdspan/mdspan.h header I missed this header while updating the Makefile for libc++ 17. PR: 273753 MFC after: 1 month
|
#
06c3fb27 |
|
02-Sep-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the last commit before the upstream release/17.x branch was created. PR: 273753 MFC after: 1 month
|
#
d0b2dbfa |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/ |
#
bdd1243d |
|
14-Apr-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16-init-18548-gb0daacf58f41. PR: 271047 MFC after: 1 month
|
#
61cfbce3 |
|
13-Aug-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project release/15.x llvmorg-15.0.0-rc2-40-gfbd2950d8d0d This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.0-rc2-40-gfbd2950d8d0d. PR: 265425 MFC after: 2 weeks
|
#
972a253a |
|
27-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-17826-g1f8ae9d7e7e4, the last commit before the upstream release/16.x branch was created. PR: 265425 MFC after: 2 weeks
|
#
fcaf7f86 |
|
24-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-17485-ga3e38b4a206b This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-17485-ga3e38b4a206b. PR: 265425 MFC after: 2 weeks
|
#
753f127f |
|
14-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-16436-g18a6ab5b8d1f This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-16436-g18a6ab5b8d1f. PR: 265425 MFC after: 2 weeks
|
#
81ad6265 |
|
04-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-15358-g53dc0f10787. PR: 265425 MFC after: 2 weeks
|
#
53683b95 |
|
07-Apr-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Apply libc++ fix for <ranges> not compiling at all Merge commit 44cdca37c01a from llvm git (by Arthur O'Dwyer): [libc++] Define `namespace views` in its own detail header. Discovered in the comments on D118748: we would like this namespace to exist anytime Ranges exists, regardless of whether concepts syntax is supported. Also, we'd like to fully granularize the <ranges> header, which means not putting any loose declarations at the top level. Differential Revision: https://reviews.llvm.org/D118809 |
#
1fd87a68 |
|
05-Feb-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before the upstream release/14.x branch was created. PR: 261742 MFC after: 2 weeks
|
#
04eeddc0 |
|
27-Jan-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-17616-g024a1fab5c35. PR: 261742 MFC after: 2 weeks
|
#
4824e7fd |
|
02-Dec-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-11187-g222442ec2d71 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-11187-g222442ec2d71. PR: 261742 MFC after: 2 weeks
|
#
5e801ac6 |
|
20-Nov-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-10223-g401b76fdf2b3. PR: 261742 MFC after: 2 weeks
|
#
c00d3456 |
|
10-Feb-2022 |
John Baldwin <jhb@FreeBSD.org> |
Install unwind.h into /usr/include Install headers from LLVM's libunwind in place of the headers from libcxxrt and allow C applications to use the library. As part of this, remove include/unwind.h and switch libthr over to using the installed unwind.h. Reviewed by: dim, emaste MFC after: 10 days Differential Revision: https://reviews.freebsd.org/D34065 |
#
5e6a2d6e |
|
30-Dec-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Reapply: move libc++ from /usr/lib to /lib As with other runtime components like libc or libcxxrt. If desired we can stop linking devd statically after this change (to achive approximately no net change in required root filesystem size). We must set SHLIBDIR with ?= before including <src.opts.mk>, otherwise that will have set SHBLIDIR to its default value of /usr/lib. Otherwise, "make delete-old-libs" would suggest to delete libc++.so.1 from /usr/lib, while there was not yet a copy in /lib. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33123 |
#
b6f7942c |
|
30-Dec-2021 |
Ed Maste <emaste@FreeBSD.org> |
Revert "Move libc++ from /usr/lib to /lib" This reverts commit 6b1c5775d1c29c7c42201254df82aca9f3820bc8. There are reports of errors with this change. Reported by: antoine |
#
6b1c5775 |
|
29-Dec-2021 |
Ed Maste <emaste@FreeBSD.org> |
Move libc++ from /usr/lib to /lib As with other runtime components like libc or libcxxrt. If desired we can stop linking devd statically after this change (to achive approximately no net change in required root filesystem size). Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33123 |
#
6e75b2fb |
|
25-Aug-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a. PR: 258209 MFC after: 2 weeks
|
#
d409305f |
|
26-Apr-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project 12.0.0 release This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release. PR: 255570 MFC after: 6 weeks
|
#
95aa617e |
|
03-Jun-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Add C++ headers <barrier> <concepts> <execution> <latch> <numbers> <semaphore> I missed adding these to the libc++ Makefile, when importing llvm-project 11.0.0-rc1, even though they were supplied by upstream. While here, update OptionalObsoleteFiles.inc to add these new headers, and cleanup old cruft. Reported by: yuri Submitted by: jkim (Makefile diff) PR: 255374 MFC after: 3 days |
#
ecebb3cc |
|
11-Sep-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Only set WARNS if not defined This would allow interested parties to do experimental runs with an environment set appropriately to raise all the warnings throughout the build; e.g. env WARNS=6 NO_WERROR=yes buildworld. Not currently touching the numerous instances in ^/tools. MFC after: 1 week |
#
c37f312d |
|
21-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Add a few new source files to libc++, in particular the implementation part of std::random_shuffle. These were split off at some point by upstream, but I forgot to add them to our Makefile. This should allow some ports which use std::random_shuffle to correctly link again. Reported by: thierry PR: 248795 MFC after: 6 weeks X-MFX-With: r364284 |
#
da759cfa |
|
10-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Remove -mlong-calls vhen building arm libraries and llvm. Clang from 9.0.0 onwards already has the necessary relocation range extenders, so this workaround is no longer needed (it produces longer and slower code). Tested on real hardware, and in cross-compile environment. Submitted by: mmel |
#
97e6bc16 |
|
27-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for libc++. |
#
4b50c451 |
|
14-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Revert r353140: Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around arichardson has an actual fix for the same issue that this was working around; given that we don't build with llvm today, go ahead and revert the workaround in advance. |
#
0b57cec5 |
|
20-Dec-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Move all sources from the llvm project into contrib/llvm-project. This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. |
#
8b3bc70a |
|
08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352764 through r353315.
|
#
036d2e81 |
|
05-Oct-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around Diff partially stolen from CheriBSD; these bits need -Wl,-z,notext in order to build in an LLVM world. They are needed for all flavors/sizes of MIPS. This will eventually get fixed in LLVM, but it's unclear when. Reported by: arichardson, emaste Differential Revision: https://reviews.freebsd.org/D21696 |
#
b0d4288f |
|
28-Aug-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for building libc++. |
#
1109b774 |
|
22-Apr-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Rework CXXSTD setting via r345708 This change allows the user to once again override the C++ standard, restoring high-level pre-r345708 behavior. This also unbreaks building lib/ofed/libibnetdisc/Makefile with a non-C++11 capable compiler, e.g., g++ 4.2.1, as the library supported being built with older C++ standards. MFC after: 2 weeks MFC with: r345708 Reviewed by: emaste Reported by: jbeich Differential Revision: https://reviews.freebsd.org/D19895 (as part of a larger change) |
#
e8067928 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 |
#
bdbf3440 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345706: the third time will be the charm When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and repeated my mistake from r345704 by accident mixing content from D19732 and D19738. For my own personal sanity, I will try not to mix reviews like this in the future. MFC after: 1 month MFC with: r345706 Approved by: emaste (mentor, implicit) |
#
760b1a81 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 |
#
752cabaa |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345704 I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704. Approved by: emaste (mentor, implicit) MFC after: 2 months MFC with: r345704 |
#
9a41926b |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
CXXSTD is the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19732 |
#
58a7b5d6 |
|
22-Jan-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ build glue, and ObsoleteFiles. |
#
488aa40a |
|
02-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ and libc++experimental Makefiles, add libc++fs Makefile, and update OptionalObsoleteFiles.inc for new additions. |
#
c4394386 |
|
13-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r307894, and update build glue.
|
#
24d58133 |
|
16-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r305575, and update build glue.
|
#
f9448bf3 |
|
01-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304460, and update build glue.
|
#
302affcb |
|
29-May-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304149, and update build glue.
|
#
540d2a8b |
|
22-Apr-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ trunk r300890, and update build glue.
|
#
5d77776c |
|
19-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Belatedly add variant.cpp to libc++. This completes the support for the upcoming C++17 std::variant template. |
#
3f910b91 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Update the libc++ Makefile to be more like the other llvm and clang Makefiles. |
#
80779b37 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ trunk r291476, update Makefile, ObsoleteFiles.inc and OptionalObsoleteFiles.inc.
|
#
7b173dd6 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Add additional libc++ 4.0.0 headers. |
#
aed8d94e |
|
08-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ r291274, and update the library Makefile.
|
#
629582ca |
|
10-Dec-2016 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Now that external gcc directly natively links to libc++ we can remove the dirty hack made to fake libstdc++ |
#
7c82a1ec |
|
30-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to release_39 branch r279689.
|
#
f661dbee |
|
29-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
GCC External: Revert r300886, r300904, r300917, r300918 The fix in r300873 is mostly enough. A fix for lib32 will be committed.separately. |
#
1766eeaf |
|
28-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Use a relative symlink for proper --sysroot support. Sponsored by: EMC / Isilon Storage Division |
#
ce00342b |
|
27-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Move external GCC compiler hacks to bsd.sys.mk. This allows respecting -nostdinc, -nostdinc++ and -nostdlib before making the decision to add in -isystem, etc. The -isystem flags are problematic for building lib/libc++ and lib/libcxxrt which wants to only use its own headers. More information the need of these flags can be found at https://gcc.gnu.org/ml/gcc/2016-03/msg00219.html This also reverts r300873. Sponsored by: EMC / Isilon Storage Division |
#
09210a28 |
|
27-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
After r300770, for libc++ and libcxxrt, use -isystem instead of -I. This should fix builds with external gcc toolchains from ports, which also use -isystem to work around problems with gcc's --sysroot implementation. Thanks to Bryan Drewery for this workaround. |
#
9729cf09 |
|
26-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to 3.8.0. Excerpted list of fixes (with upstream revision numbers): r242679 Implement the plugin-based version of std::search. There are no searchers yet; those are coming soon. r242682 Implement the default searcher for std::experimental::search. r243728 Add <experimental/any> v2. r245330 implement more of N4258 - Cleaning up noexcept in the standard library. Specifically add new noexcept stuff to vector and string's move-assignment operations r245334 Fix PR22606 - Leak pthread_key with static storage duration to ensure all of thread-local destructors are called. r245335 Fix PR23589: std::function doesn't recognize null pointer to varargs function. r247036 Implementation of Boyer-Moore and Boyer-Moore-Horspool searchers for the LFTS. r249325 Implement LWG#2063, and update the issues links to point to the github generated pages r249738 Split <ctype.h> out of <cctype>. r249739 Split <errno.h> out of <cerrno>. r249740 Split <float.h> out of <cfloat>. r249741 Split <inttypes.h> out of <cinttypes>. r249742 Split <math.h> out of <cmath>. r249743 Split <setjmp.h> out of <csetjmp>. r249761 Split <stddef.h> out of <cstddef>. r249798 Split <stdio.h> out of <cstdio>. r249800 Split <stdlib.h> out of <cstdlib>. r249889 Split <wchar.h> out of <cwchar>. r249890 Split <wctype.h> out of <cwctype>. r249929 Split <string.h> out of <cstring>. r250254 ABI versioning macros for libc++. r251246 Fix LWG#2244: basic_istream::seekg r251247 Fix LWG#2127: Move-construction with raw_storage_iterator. r251253 Fix LWG#2476: scoped_allocator_adaptor is not assignable r251257 Fix LWG#2489: mem_fn() should be noexcept r251618 Implement P0004R1 'Remove Deprecated iostreams aliases' r251766 Implement the first part of P0006R0: Adopt Type Traits Variable Templates for C++17. r252195 Implement P0092R1 for C++1z r252350 Allow deque to handle incomplete types. r252406 More of P0006R0: type traits variable aliases for C++17. r252407 Implement LWG#2353: std::next is over-constrained r252905 Implement P0074: Making owner_less more flexible r253215 Implement P0013R1: Logical Operator Type Traits. r253274 Implement P0007: Constant View: A proposal for a std::as_const helper function template. r254119 Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. r254283 Implement more of P0006; Type Traits Variable Templates. r255941 LWG2485: get() should be overloaded for const tuple&&. r256325 Fix LWG Issue #2367 - Fixing std::tuple and std::pair's default constructors. r256652 Fix for ALL undefined behavior in <list>. r256859 First half of LWG#2354: 'Unnecessary copying when inserting into maps with braced-init syntax' Exp-run: antoine Relnotes: yes
|
#
53835448 |
|
14-Mar-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH Sponsored by: The FreeBSD Foundation
|
#
7533aa15 |
|
11-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Add missing CLEANFILES. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division |
#
c389411c |
|
05-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
Remove libc, librtld_db, libthr packages, and further increase the constraints on what needs to be installed in a specific to maintain consistency during upgrades. Create a new clibs package containing libraries that are needed as a bare minimum for consistency. With much help and input from: kib Sponsored by: The FreeBSD Foundation |
#
a70cba95 |
|
04-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
First pass through library packaging. Sponsored by: The FreeBSD Foundation |
#
c455b924 |
|
14-Jan-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Set -mlong-calls where needed to get a static clang and lldb 3.8.0 linking. These are too large for a branch instruction to branch from an earlier point in the code to somewhere later. This will also allow these to be build with Thumb-2 when we get this infrastructure. Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D4855 |
#
a9f9ec24 |
|
03-Dec-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Replace ln -s calls with INSTALL_SYMLINK Sponsored by: EMC / Isilon Storage Division |
#
3c89d6b0 |
|
01-Dec-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Don't override LIB*DIR variables from src.libnames.mk. In some cases switch to the LIB*SRCDIR value. These recently were defined in r291327 and r291619. Sponsored by: EMC / Isilon Storage Division |
#
1e36b7df |
|
30-Nov-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META MODE: Libc++ does in fact need Libcxxrt. There seems to be no cyclic dependency here. This partially reverts r283595 which had no explanation for the change. Sponsored by: EMC / Isilon Storage Division |
#
b791fbe6 |
|
25-Nov-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META MODE: Don't create .meta files when symlinking sources into the obj directory. Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine. Sponsored by: EMC / Isilon Storage Division |
#
602af66b |
|
06-Oct-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Stop linking libc++.so verbosely, there is no need to. MFC after: 3 days |
#
854fa44b |
|
16-Sep-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to 3.7.0 release.
|
#
98e0ffae |
|
26-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge sync of head
|
#
d72607e9 |
|
15-Jan-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Import libc++ trunk r224926. This fixes a number of bugs, completes C++14 support[1], adds more C++1z features[2], and fixes the following LWG issues[3]: 1450: Contradiction in regex_constants 2003: String exception inconsistency in erase. 2075: Progress guarantees, lock-free property, and scheduling assumptions 2104: unique_lock move-assignment should not be noexcept 2112: User-defined classes that cannot be derived from 2132: std::function ambiguity 2135: Unclear requirement for exceptions thrown in condition_variable::wait() 2142: packaged_task::operator() synchronization too broad? 2182: Container::[const_]reference types are misleadingly specified 2186: Incomplete action on async/launch::deferred 2188: Reverse iterator does not fully support targets that overload operator& 2193: Default constructors for standard library containers are explicit 2205: Problematic postconditions of regex_match and regex_search 2213: Return value of std::regex_replace 2240: Probable misuse of term "function scope" in [thread.condition] 2252: Strong guarantee on vector::push_back() still broken with C++11? 2257: Simplify container requirements with the new algorithms 2258: a.erase(q1, q2) unable to directly return q2 2263: Comparing iterators and allocator pointers with different const-character 2268: Setting a default argument in the declaration of a member function assign of std::basic_string 2271: regex_traits::lookup_classname specification unclear 2272: quoted should use char_traits::eq for character comparison 2278: User-defined literals for Standard Library types 2280: begin / end for arrays should be constexpr and noexcept 2285: make_reverse_iterator 2288: Inconsistent requirements for shared mutexes 2291: std::hash is vulnerable to collision DoS attack 2293: Wrong facet used by num_put::do_put 2299: Effects of inaccessible key_compare::is_transparent type are not clear 2301: Why is std::tie not constexpr? 2304: Complexity of count in unordered associative containers 2306: match_results::reference should be value_type&, not const value_type& 2308: Clarify container destructor requirements w.r.t. std::array 2313: tuple_size should always derive from integral_constant<size_t, N> 2314: apply() should return decltype(auto) and use decay_t before tuple_size 2315: weak_ptr should be movable 2316: weak_ptr::lock() should be atomic 2317: The type property queries should be UnaryTypeTraits returning size_t 2320: select_on_container_copy_construction() takes allocators, not containers 2322: Associative(initializer_list, stuff) constructors are underspecified 2323: vector::resize(n, t)'s specification should be simplified 2324: Insert iterator constructors should use addressof() 2329: regex_match()/regex_search() with match_results should forbid temporary strings 2330: regex("meow", regex::icase) is technically forbidden but should be permitted 2332: regex_iterator/regex_token_iterator should forbid temporary regexes 2339: Wording issue in nth_element 2341: Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) 2344: quoted()'s interaction with padding is unclear 2346: integral_constant's member functions should be marked noexcept 2350: min, max, and minmax should be constexpr 2356: Stability of erasure in unordered associative containers 2357: Remaining "Assignable" requirement 2359: How does regex_constants::nosubs affect basic_regex::mark_count()? 2360: reverse_iterator::operator*() is unimplementable [1] http://libcxx.llvm.org/cxx1y_status.html [2] http://libcxx.llvm.org/cxx1z_status.html [3] http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html Exp-run: antoine MFC after: 1 month
|
#
6b129086 |
|
25-Nov-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Convert libraries to use LIBADD While here reduce a bit overlinking |
#
aa7703be |
|
21-Oct-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
When using an external gcc 4.8+ and not building libstdc++ then create in the objectdir a fake libstdc++.so and libstdc++.a which is a symlink on libc++ that allow g++ to satisfy its links dependencies in the least hackish way. Please note that this hacky libstds++ never get installed on the final system Reviewed by: imp |
#
c71728df |
|
25-Aug-2014 |
Roman Divacky <rdivacky@FreeBSD.org> |
The standard we compile libc++ with is called c++11 not c++0x. |
#
4f7ab58e |
|
30-Jan-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Import libc++ 3.4 release. This contains a lot of bugfixes, and some preliminary support for C++1y. MFC after: 3 weeks
|
#
c354d333 |
|
04-Sep-2013 |
David Chisnall <theraven@FreeBSD.org> |
Add a c++/v1/tr1 include directory containing symlinks to all of the standard headrs. Lots of third-party code expects to find C++03 headers under tr1 because that's where GNU decided to hide them. This should fix ports that expect them there. MFC after: 1 week |
#
e669ff37 |
|
03-Aug-2013 |
Dimitry Andric <dim@FreeBSD.org> |
After r253839, which modifies ld's behaviour to not automatically pull in needed libraries, change libc++.so into a linker script, so it can automatically pull in libcxxrt.so. MFC after: 1 week |
#
a006bb4b |
|
01-Nov-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Fix broken macro checking in the libc++ Makefile, introduced in r241909. This caused -std=c++0x not to be passed to the build by default. Pointy hat to: dim MFC after: 3 days |
#
cb554de2 |
|
22-Oct-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Allow building libc++ with any custom -std=xxx flag. Note that using -std=gnu++98 will give a lot of warnings with clang, so please use -std=c++0x or higher, or use NO_WERROR. MFC after: 1 week |
#
15e154df |
|
25-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Add libcxxrt's objects (prefixing them with cxxrt_ to avoid collisions) to libc++.a and libc++_p.a, to make static linking of C++ executables with libc++ easier. This is similar to the approach used in libstdc++. MFC after: 2 weeks |
#
cd38c408 |
|
02-Jun-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Install libcxxrt's C++ ABI and unwind headers. This is done in libc++'s Makefile, so these headers go into the same destination directory as libc++'s own headers, currently /usr/include/c++/v1. MFC after: 3 days |
#
01dd3d87 |
|
02-Jun-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Tabify libcxxrt and libc++'s Makefiles. MFC after: 3 days |
#
15d321c5 |
|
17-Mar-2012 |
Peter Wemm <peter@FreeBSD.org> |
Make sure libgcc_s is finished building in _startup_libs before building libcxxrt with high -j levels. The workaround in libc++/Makefile isn't necessary once that race is solved. Reviewed by: theravin |
#
94e3ee44 |
|
13-Mar-2012 |
David Chisnall <theraven@FreeBSD.org> |
Import new versions of libcxxrt and libc++. Please tests any C++ code you care about with -stdlib=libc++! Approved by: dim (mentor)
|
#
7a984708 |
|
25-Nov-2011 |
David Chisnall <theraven@FreeBSD.org> |
Import libc++ / libcxxrt into base. Not build by default yet (use MK_LIBCPLUSPLUS=yes to enable). This is a work-in-progress. It works for me, but is not guaranteed to work for anyone else and may eat your dog. To build C++ using libc++, add -stdlib=libc++ to your CXX and LD flags. Bug reports welcome, bug fixes even more welcome... Approved by: dim (mentor)
|
#
d0b2dbfa |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
#
bdd1243d |
|
14-Apr-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16-init-18548-gb0daacf58f41. PR: 271047 MFC after: 1 month
|
#
61cfbce3 |
|
13-Aug-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project release/15.x llvmorg-15.0.0-rc2-40-gfbd2950d8d0d This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.0-rc2-40-gfbd2950d8d0d. PR: 265425 MFC after: 2 weeks
|
#
972a253a |
|
27-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-17826-g1f8ae9d7e7e4, the last commit before the upstream release/16.x branch was created. PR: 265425 MFC after: 2 weeks
|
#
fcaf7f86 |
|
24-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-17485-ga3e38b4a206b This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-17485-ga3e38b4a206b. PR: 265425 MFC after: 2 weeks
|
#
753f127f |
|
14-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-16436-g18a6ab5b8d1f This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-16436-g18a6ab5b8d1f. PR: 265425 MFC after: 2 weeks
|
#
81ad6265 |
|
04-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-15358-g53dc0f10787. PR: 265425 MFC after: 2 weeks
|
#
53683b95 |
|
07-Apr-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Apply libc++ fix for <ranges> not compiling at all Merge commit 44cdca37c01a from llvm git (by Arthur O'Dwyer): [libc++] Define `namespace views` in its own detail header. Discovered in the comments on D118748: we would like this namespace to exist anytime Ranges exists, regardless of whether concepts syntax is supported. Also, we'd like to fully granularize the <ranges> header, which means not putting any loose declarations at the top level. Differential Revision: https://reviews.llvm.org/D118809 |
#
1fd87a68 |
|
05-Feb-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before the upstream release/14.x branch was created. PR: 261742 MFC after: 2 weeks
|
#
04eeddc0 |
|
27-Jan-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-17616-g024a1fab5c35. PR: 261742 MFC after: 2 weeks
|
#
4824e7fd |
|
02-Dec-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-11187-g222442ec2d71 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-11187-g222442ec2d71. PR: 261742 MFC after: 2 weeks
|
#
5e801ac6 |
|
20-Nov-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-10223-g401b76fdf2b3. PR: 261742 MFC after: 2 weeks
|
#
c00d3456 |
|
10-Feb-2022 |
John Baldwin <jhb@FreeBSD.org> |
Install unwind.h into /usr/include Install headers from LLVM's libunwind in place of the headers from libcxxrt and allow C applications to use the library. As part of this, remove include/unwind.h and switch libthr over to using the installed unwind.h. Reviewed by: dim, emaste MFC after: 10 days Differential Revision: https://reviews.freebsd.org/D34065 |
#
5e6a2d6e |
|
30-Dec-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Reapply: move libc++ from /usr/lib to /lib As with other runtime components like libc or libcxxrt. If desired we can stop linking devd statically after this change (to achive approximately no net change in required root filesystem size). We must set SHLIBDIR with ?= before including <src.opts.mk>, otherwise that will have set SHBLIDIR to its default value of /usr/lib. Otherwise, "make delete-old-libs" would suggest to delete libc++.so.1 from /usr/lib, while there was not yet a copy in /lib. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33123 |
#
b6f7942c |
|
30-Dec-2021 |
Ed Maste <emaste@FreeBSD.org> |
Revert "Move libc++ from /usr/lib to /lib" This reverts commit 6b1c5775d1c29c7c42201254df82aca9f3820bc8. There are reports of errors with this change. Reported by: antoine |
#
6b1c5775 |
|
29-Dec-2021 |
Ed Maste <emaste@FreeBSD.org> |
Move libc++ from /usr/lib to /lib As with other runtime components like libc or libcxxrt. If desired we can stop linking devd statically after this change (to achive approximately no net change in required root filesystem size). Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33123 |
#
6e75b2fb |
|
25-Aug-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a. PR: 258209 MFC after: 2 weeks
|
#
d409305f |
|
26-Apr-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project 12.0.0 release This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release. PR: 255570 MFC after: 6 weeks
|
#
95aa617e |
|
03-Jun-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Add C++ headers <barrier> <concepts> <execution> <latch> <numbers> <semaphore> I missed adding these to the libc++ Makefile, when importing llvm-project 11.0.0-rc1, even though they were supplied by upstream. While here, update OptionalObsoleteFiles.inc to add these new headers, and cleanup old cruft. Reported by: yuri Submitted by: jkim (Makefile diff) PR: 255374 MFC after: 3 days |
#
ecebb3cc |
|
11-Sep-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Only set WARNS if not defined This would allow interested parties to do experimental runs with an environment set appropriately to raise all the warnings throughout the build; e.g. env WARNS=6 NO_WERROR=yes buildworld. Not currently touching the numerous instances in ^/tools. MFC after: 1 week |
#
c37f312d |
|
21-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Add a few new source files to libc++, in particular the implementation part of std::random_shuffle. These were split off at some point by upstream, but I forgot to add them to our Makefile. This should allow some ports which use std::random_shuffle to correctly link again. Reported by: thierry PR: 248795 MFC after: 6 weeks X-MFX-With: r364284 |
#
da759cfa |
|
10-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Remove -mlong-calls vhen building arm libraries and llvm. Clang from 9.0.0 onwards already has the necessary relocation range extenders, so this workaround is no longer needed (it produces longer and slower code). Tested on real hardware, and in cross-compile environment. Submitted by: mmel |
#
97e6bc16 |
|
27-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for libc++. |
#
4b50c451 |
|
14-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Revert r353140: Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around arichardson has an actual fix for the same issue that this was working around; given that we don't build with llvm today, go ahead and revert the workaround in advance. |
#
0b57cec5 |
|
20-Dec-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Move all sources from the llvm project into contrib/llvm-project. This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. |
#
8b3bc70a |
|
08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352764 through r353315.
|
#
036d2e81 |
|
05-Oct-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around Diff partially stolen from CheriBSD; these bits need -Wl,-z,notext in order to build in an LLVM world. They are needed for all flavors/sizes of MIPS. This will eventually get fixed in LLVM, but it's unclear when. Reported by: arichardson, emaste Differential Revision: https://reviews.freebsd.org/D21696 |
#
b0d4288f |
|
28-Aug-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for building libc++. |
#
1109b774 |
|
22-Apr-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Rework CXXSTD setting via r345708 This change allows the user to once again override the C++ standard, restoring high-level pre-r345708 behavior. This also unbreaks building lib/ofed/libibnetdisc/Makefile with a non-C++11 capable compiler, e.g., g++ 4.2.1, as the library supported being built with older C++ standards. MFC after: 2 weeks MFC with: r345708 Reviewed by: emaste Reported by: jbeich Differential Revision: https://reviews.freebsd.org/D19895 (as part of a larger change) |
#
e8067928 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 |
#
bdbf3440 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345706: the third time will be the charm When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and repeated my mistake from r345704 by accident mixing content from D19732 and D19738. For my own personal sanity, I will try not to mix reviews like this in the future. MFC after: 1 month MFC with: r345706 Approved by: emaste (mentor, implicit) |
#
760b1a81 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 |
#
752cabaa |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345704 I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704. Approved by: emaste (mentor, implicit) MFC after: 2 months MFC with: r345704 |
#
9a41926b |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
CXXSTD is the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19732 |
#
58a7b5d6 |
|
22-Jan-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ build glue, and ObsoleteFiles. |
#
488aa40a |
|
02-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ and libc++experimental Makefiles, add libc++fs Makefile, and update OptionalObsoleteFiles.inc for new additions. |
#
c4394386 |
|
13-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r307894, and update build glue.
|
#
24d58133 |
|
16-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r305575, and update build glue.
|
#
f9448bf3 |
|
01-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304460, and update build glue.
|
#
302affcb |
|
29-May-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304149, and update build glue.
|
#
540d2a8b |
|
22-Apr-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ trunk r300890, and update build glue.
|
#
5d77776c |
|
19-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Belatedly add variant.cpp to libc++. This completes the support for the upcoming C++17 std::variant template. |
#
3f910b91 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Update the libc++ Makefile to be more like the other llvm and clang Makefiles. |
#
80779b37 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ trunk r291476, update Makefile, ObsoleteFiles.inc and OptionalObsoleteFiles.inc.
|
#
7b173dd6 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Add additional libc++ 4.0.0 headers. |
#
aed8d94e |
|
08-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ r291274, and update the library Makefile.
|
#
629582ca |
|
10-Dec-2016 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Now that external gcc directly natively links to libc++ we can remove the dirty hack made to fake libstdc++ |
#
7c82a1ec |
|
30-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to release_39 branch r279689.
|
#
f661dbee |
|
29-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
GCC External: Revert r300886, r300904, r300917, r300918 The fix in r300873 is mostly enough. A fix for lib32 will be committed.separately. |
#
1766eeaf |
|
28-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Use a relative symlink for proper --sysroot support. Sponsored by: EMC / Isilon Storage Division |
#
ce00342b |
|
27-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Move external GCC compiler hacks to bsd.sys.mk. This allows respecting -nostdinc, -nostdinc++ and -nostdlib before making the decision to add in -isystem, etc. The -isystem flags are problematic for building lib/libc++ and lib/libcxxrt which wants to only use its own headers. More information the need of these flags can be found at https://gcc.gnu.org/ml/gcc/2016-03/msg00219.html This also reverts r300873. Sponsored by: EMC / Isilon Storage Division |
#
09210a28 |
|
27-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
After r300770, for libc++ and libcxxrt, use -isystem instead of -I. This should fix builds with external gcc toolchains from ports, which also use -isystem to work around problems with gcc's --sysroot implementation. Thanks to Bryan Drewery for this workaround. |
#
9729cf09 |
|
26-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to 3.8.0. Excerpted list of fixes (with upstream revision numbers): r242679 Implement the plugin-based version of std::search. There are no searchers yet; those are coming soon. r242682 Implement the default searcher for std::experimental::search. r243728 Add <experimental/any> v2. r245330 implement more of N4258 - Cleaning up noexcept in the standard library. Specifically add new noexcept stuff to vector and string's move-assignment operations r245334 Fix PR22606 - Leak pthread_key with static storage duration to ensure all of thread-local destructors are called. r245335 Fix PR23589: std::function doesn't recognize null pointer to varargs function. r247036 Implementation of Boyer-Moore and Boyer-Moore-Horspool searchers for the LFTS. r249325 Implement LWG#2063, and update the issues links to point to the github generated pages r249738 Split <ctype.h> out of <cctype>. r249739 Split <errno.h> out of <cerrno>. r249740 Split <float.h> out of <cfloat>. r249741 Split <inttypes.h> out of <cinttypes>. r249742 Split <math.h> out of <cmath>. r249743 Split <setjmp.h> out of <csetjmp>. r249761 Split <stddef.h> out of <cstddef>. r249798 Split <stdio.h> out of <cstdio>. r249800 Split <stdlib.h> out of <cstdlib>. r249889 Split <wchar.h> out of <cwchar>. r249890 Split <wctype.h> out of <cwctype>. r249929 Split <string.h> out of <cstring>. r250254 ABI versioning macros for libc++. r251246 Fix LWG#2244: basic_istream::seekg r251247 Fix LWG#2127: Move-construction with raw_storage_iterator. r251253 Fix LWG#2476: scoped_allocator_adaptor is not assignable r251257 Fix LWG#2489: mem_fn() should be noexcept r251618 Implement P0004R1 'Remove Deprecated iostreams aliases' r251766 Implement the first part of P0006R0: Adopt Type Traits Variable Templates for C++17. r252195 Implement P0092R1 for C++1z r252350 Allow deque to handle incomplete types. r252406 More of P0006R0: type traits variable aliases for C++17. r252407 Implement LWG#2353: std::next is over-constrained r252905 Implement P0074: Making owner_less more flexible r253215 Implement P0013R1: Logical Operator Type Traits. r253274 Implement P0007: Constant View: A proposal for a std::as_const helper function template. r254119 Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. r254283 Implement more of P0006; Type Traits Variable Templates. r255941 LWG2485: get() should be overloaded for const tuple&&. r256325 Fix LWG Issue #2367 - Fixing std::tuple and std::pair's default constructors. r256652 Fix for ALL undefined behavior in <list>. r256859 First half of LWG#2354: 'Unnecessary copying when inserting into maps with braced-init syntax' Exp-run: antoine Relnotes: yes
|
#
53835448 |
|
14-Mar-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH Sponsored by: The FreeBSD Foundation
|
#
7533aa15 |
|
11-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Add missing CLEANFILES. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division |
#
c389411c |
|
05-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
Remove libc, librtld_db, libthr packages, and further increase the constraints on what needs to be installed in a specific to maintain consistency during upgrades. Create a new clibs package containing libraries that are needed as a bare minimum for consistency. With much help and input from: kib Sponsored by: The FreeBSD Foundation |
#
a70cba95 |
|
04-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
First pass through library packaging. Sponsored by: The FreeBSD Foundation |
#
c455b924 |
|
14-Jan-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Set -mlong-calls where needed to get a static clang and lldb 3.8.0 linking. These are too large for a branch instruction to branch from an earlier point in the code to somewhere later. This will also allow these to be build with Thumb-2 when we get this infrastructure. Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D4855 |
#
a9f9ec24 |
|
03-Dec-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Replace ln -s calls with INSTALL_SYMLINK Sponsored by: EMC / Isilon Storage Division |
#
3c89d6b0 |
|
01-Dec-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Don't override LIB*DIR variables from src.libnames.mk. In some cases switch to the LIB*SRCDIR value. These recently were defined in r291327 and r291619. Sponsored by: EMC / Isilon Storage Division |
#
1e36b7df |
|
30-Nov-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META MODE: Libc++ does in fact need Libcxxrt. There seems to be no cyclic dependency here. This partially reverts r283595 which had no explanation for the change. Sponsored by: EMC / Isilon Storage Division |
#
b791fbe6 |
|
25-Nov-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META MODE: Don't create .meta files when symlinking sources into the obj directory. Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine. Sponsored by: EMC / Isilon Storage Division |
#
602af66b |
|
06-Oct-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Stop linking libc++.so verbosely, there is no need to. MFC after: 3 days |
#
854fa44b |
|
16-Sep-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to 3.7.0 release.
|
#
98e0ffae |
|
26-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge sync of head
|
#
d72607e9 |
|
15-Jan-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Import libc++ trunk r224926. This fixes a number of bugs, completes C++14 support[1], adds more C++1z features[2], and fixes the following LWG issues[3]: 1450: Contradiction in regex_constants 2003: String exception inconsistency in erase. 2075: Progress guarantees, lock-free property, and scheduling assumptions 2104: unique_lock move-assignment should not be noexcept 2112: User-defined classes that cannot be derived from 2132: std::function ambiguity 2135: Unclear requirement for exceptions thrown in condition_variable::wait() 2142: packaged_task::operator() synchronization too broad? 2182: Container::[const_]reference types are misleadingly specified 2186: Incomplete action on async/launch::deferred 2188: Reverse iterator does not fully support targets that overload operator& 2193: Default constructors for standard library containers are explicit 2205: Problematic postconditions of regex_match and regex_search 2213: Return value of std::regex_replace 2240: Probable misuse of term "function scope" in [thread.condition] 2252: Strong guarantee on vector::push_back() still broken with C++11? 2257: Simplify container requirements with the new algorithms 2258: a.erase(q1, q2) unable to directly return q2 2263: Comparing iterators and allocator pointers with different const-character 2268: Setting a default argument in the declaration of a member function assign of std::basic_string 2271: regex_traits::lookup_classname specification unclear 2272: quoted should use char_traits::eq for character comparison 2278: User-defined literals for Standard Library types 2280: begin / end for arrays should be constexpr and noexcept 2285: make_reverse_iterator 2288: Inconsistent requirements for shared mutexes 2291: std::hash is vulnerable to collision DoS attack 2293: Wrong facet used by num_put::do_put 2299: Effects of inaccessible key_compare::is_transparent type are not clear 2301: Why is std::tie not constexpr? 2304: Complexity of count in unordered associative containers 2306: match_results::reference should be value_type&, not const value_type& 2308: Clarify container destructor requirements w.r.t. std::array 2313: tuple_size should always derive from integral_constant<size_t, N> 2314: apply() should return decltype(auto) and use decay_t before tuple_size 2315: weak_ptr should be movable 2316: weak_ptr::lock() should be atomic 2317: The type property queries should be UnaryTypeTraits returning size_t 2320: select_on_container_copy_construction() takes allocators, not containers 2322: Associative(initializer_list, stuff) constructors are underspecified 2323: vector::resize(n, t)'s specification should be simplified 2324: Insert iterator constructors should use addressof() 2329: regex_match()/regex_search() with match_results should forbid temporary strings 2330: regex("meow", regex::icase) is technically forbidden but should be permitted 2332: regex_iterator/regex_token_iterator should forbid temporary regexes 2339: Wording issue in nth_element 2341: Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) 2344: quoted()'s interaction with padding is unclear 2346: integral_constant's member functions should be marked noexcept 2350: min, max, and minmax should be constexpr 2356: Stability of erasure in unordered associative containers 2357: Remaining "Assignable" requirement 2359: How does regex_constants::nosubs affect basic_regex::mark_count()? 2360: reverse_iterator::operator*() is unimplementable [1] http://libcxx.llvm.org/cxx1y_status.html [2] http://libcxx.llvm.org/cxx1z_status.html [3] http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html Exp-run: antoine MFC after: 1 month
|
#
6b129086 |
|
25-Nov-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Convert libraries to use LIBADD While here reduce a bit overlinking |
#
aa7703be |
|
21-Oct-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
When using an external gcc 4.8+ and not building libstdc++ then create in the objectdir a fake libstdc++.so and libstdc++.a which is a symlink on libc++ that allow g++ to satisfy its links dependencies in the least hackish way. Please note that this hacky libstds++ never get installed on the final system Reviewed by: imp |
#
c71728df |
|
25-Aug-2014 |
Roman Divacky <rdivacky@FreeBSD.org> |
The standard we compile libc++ with is called c++11 not c++0x. |
#
4f7ab58e |
|
30-Jan-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Import libc++ 3.4 release. This contains a lot of bugfixes, and some preliminary support for C++1y. MFC after: 3 weeks
|
#
c354d333 |
|
04-Sep-2013 |
David Chisnall <theraven@FreeBSD.org> |
Add a c++/v1/tr1 include directory containing symlinks to all of the standard headrs. Lots of third-party code expects to find C++03 headers under tr1 because that's where GNU decided to hide them. This should fix ports that expect them there. MFC after: 1 week |
#
e669ff37 |
|
03-Aug-2013 |
Dimitry Andric <dim@FreeBSD.org> |
After r253839, which modifies ld's behaviour to not automatically pull in needed libraries, change libc++.so into a linker script, so it can automatically pull in libcxxrt.so. MFC after: 1 week |
#
a006bb4b |
|
01-Nov-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Fix broken macro checking in the libc++ Makefile, introduced in r241909. This caused -std=c++0x not to be passed to the build by default. Pointy hat to: dim MFC after: 3 days |
#
cb554de2 |
|
22-Oct-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Allow building libc++ with any custom -std=xxx flag. Note that using -std=gnu++98 will give a lot of warnings with clang, so please use -std=c++0x or higher, or use NO_WERROR. MFC after: 1 week |
#
15e154df |
|
25-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Add libcxxrt's objects (prefixing them with cxxrt_ to avoid collisions) to libc++.a and libc++_p.a, to make static linking of C++ executables with libc++ easier. This is similar to the approach used in libstdc++. MFC after: 2 weeks |
#
cd38c408 |
|
02-Jun-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Install libcxxrt's C++ ABI and unwind headers. This is done in libc++'s Makefile, so these headers go into the same destination directory as libc++'s own headers, currently /usr/include/c++/v1. MFC after: 3 days |
#
01dd3d87 |
|
02-Jun-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Tabify libcxxrt and libc++'s Makefiles. MFC after: 3 days |
#
15d321c5 |
|
17-Mar-2012 |
Peter Wemm <peter@FreeBSD.org> |
Make sure libgcc_s is finished building in _startup_libs before building libcxxrt with high -j levels. The workaround in libc++/Makefile isn't necessary once that race is solved. Reviewed by: theravin |
#
94e3ee44 |
|
13-Mar-2012 |
David Chisnall <theraven@FreeBSD.org> |
Import new versions of libcxxrt and libc++. Please tests any C++ code you care about with -stdlib=libc++! Approved by: dim (mentor)
|
#
7a984708 |
|
25-Nov-2011 |
David Chisnall <theraven@FreeBSD.org> |
Import libc++ / libcxxrt into base. Not build by default yet (use MK_LIBCPLUSPLUS=yes to enable). This is a work-in-progress. It works for me, but is not guaranteed to work for anyone else and may eat your dog. To build C++ using libc++, add -stdlib=libc++ to your CXX and LD flags. Bug reports welcome, bug fixes even more welcome... Approved by: dim (mentor)
|
#
61cfbce3 |
|
13-Aug-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project release/15.x llvmorg-15.0.0-rc2-40-gfbd2950d8d0d This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.0-rc2-40-gfbd2950d8d0d. PR: 265425 MFC after: 2 weeks
|
#
972a253a |
|
27-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-17826-g1f8ae9d7e7e4, the last commit before the upstream release/16.x branch was created. PR: 265425 MFC after: 2 weeks
|
#
fcaf7f86 |
|
24-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-17485-ga3e38b4a206b This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-17485-ga3e38b4a206b. PR: 265425 MFC after: 2 weeks
|
#
753f127f |
|
14-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-16436-g18a6ab5b8d1f This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-16436-g18a6ab5b8d1f. PR: 265425 MFC after: 2 weeks
|
#
81ad6265 |
|
04-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-15358-g53dc0f10787. PR: 265425 MFC after: 2 weeks
|
#
53683b95 |
|
07-Apr-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Apply libc++ fix for <ranges> not compiling at all Merge commit 44cdca37c01a from llvm git (by Arthur O'Dwyer): [libc++] Define `namespace views` in its own detail header. Discovered in the comments on D118748: we would like this namespace to exist anytime Ranges exists, regardless of whether concepts syntax is supported. Also, we'd like to fully granularize the <ranges> header, which means not putting any loose declarations at the top level. Differential Revision: https://reviews.llvm.org/D118809 |
#
1fd87a68 |
|
05-Feb-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before the upstream release/14.x branch was created. PR: 261742 MFC after: 2 weeks
|
#
04eeddc0 |
|
27-Jan-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-17616-g024a1fab5c35. PR: 261742 MFC after: 2 weeks
|
#
4824e7fd |
|
02-Dec-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-11187-g222442ec2d71 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-11187-g222442ec2d71. PR: 261742 MFC after: 2 weeks
|
#
5e801ac6 |
|
20-Nov-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-10223-g401b76fdf2b3. PR: 261742 MFC after: 2 weeks
|
#
c00d3456 |
|
10-Feb-2022 |
John Baldwin <jhb@FreeBSD.org> |
Install unwind.h into /usr/include Install headers from LLVM's libunwind in place of the headers from libcxxrt and allow C applications to use the library. As part of this, remove include/unwind.h and switch libthr over to using the installed unwind.h. Reviewed by: dim, emaste MFC after: 10 days Differential Revision: https://reviews.freebsd.org/D34065 |
#
5e6a2d6e |
|
30-Dec-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Reapply: move libc++ from /usr/lib to /lib As with other runtime components like libc or libcxxrt. If desired we can stop linking devd statically after this change (to achive approximately no net change in required root filesystem size). We must set SHLIBDIR with ?= before including <src.opts.mk>, otherwise that will have set SHBLIDIR to its default value of /usr/lib. Otherwise, "make delete-old-libs" would suggest to delete libc++.so.1 from /usr/lib, while there was not yet a copy in /lib. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33123 |
#
b6f7942c |
|
30-Dec-2021 |
Ed Maste <emaste@FreeBSD.org> |
Revert "Move libc++ from /usr/lib to /lib" This reverts commit 6b1c5775d1c29c7c42201254df82aca9f3820bc8. There are reports of errors with this change. Reported by: antoine |
#
6b1c5775 |
|
29-Dec-2021 |
Ed Maste <emaste@FreeBSD.org> |
Move libc++ from /usr/lib to /lib As with other runtime components like libc or libcxxrt. If desired we can stop linking devd statically after this change (to achive approximately no net change in required root filesystem size). Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33123 |
#
6e75b2fb |
|
25-Aug-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a. PR: 258209 MFC after: 2 weeks
|
#
d409305f |
|
26-Apr-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project 12.0.0 release This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release. PR: 255570 MFC after: 6 weeks
|
#
95aa617e |
|
03-Jun-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Add C++ headers <barrier> <concepts> <execution> <latch> <numbers> <semaphore> I missed adding these to the libc++ Makefile, when importing llvm-project 11.0.0-rc1, even though they were supplied by upstream. While here, update OptionalObsoleteFiles.inc to add these new headers, and cleanup old cruft. Reported by: yuri Submitted by: jkim (Makefile diff) PR: 255374 MFC after: 3 days |
#
ecebb3cc |
|
11-Sep-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Only set WARNS if not defined This would allow interested parties to do experimental runs with an environment set appropriately to raise all the warnings throughout the build; e.g. env WARNS=6 NO_WERROR=yes buildworld. Not currently touching the numerous instances in ^/tools. MFC after: 1 week |
#
c37f312d |
|
21-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Add a few new source files to libc++, in particular the implementation part of std::random_shuffle. These were split off at some point by upstream, but I forgot to add them to our Makefile. This should allow some ports which use std::random_shuffle to correctly link again. Reported by: thierry PR: 248795 MFC after: 6 weeks X-MFX-With: r364284 |
#
da759cfa |
|
10-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Remove -mlong-calls vhen building arm libraries and llvm. Clang from 9.0.0 onwards already has the necessary relocation range extenders, so this workaround is no longer needed (it produces longer and slower code). Tested on real hardware, and in cross-compile environment. Submitted by: mmel |
#
97e6bc16 |
|
27-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for libc++. |
#
4b50c451 |
|
14-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Revert r353140: Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around arichardson has an actual fix for the same issue that this was working around; given that we don't build with llvm today, go ahead and revert the workaround in advance. |
#
0b57cec5 |
|
20-Dec-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Move all sources from the llvm project into contrib/llvm-project. This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. |
#
8b3bc70a |
|
08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352764 through r353315.
|
#
036d2e81 |
|
05-Oct-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around Diff partially stolen from CheriBSD; these bits need -Wl,-z,notext in order to build in an LLVM world. They are needed for all flavors/sizes of MIPS. This will eventually get fixed in LLVM, but it's unclear when. Reported by: arichardson, emaste Differential Revision: https://reviews.freebsd.org/D21696 |
#
b0d4288f |
|
28-Aug-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for building libc++. |
#
1109b774 |
|
22-Apr-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Rework CXXSTD setting via r345708 This change allows the user to once again override the C++ standard, restoring high-level pre-r345708 behavior. This also unbreaks building lib/ofed/libibnetdisc/Makefile with a non-C++11 capable compiler, e.g., g++ 4.2.1, as the library supported being built with older C++ standards. MFC after: 2 weeks MFC with: r345708 Reviewed by: emaste Reported by: jbeich Differential Revision: https://reviews.freebsd.org/D19895 (as part of a larger change) |
#
e8067928 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 |
#
bdbf3440 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345706: the third time will be the charm When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and repeated my mistake from r345704 by accident mixing content from D19732 and D19738. For my own personal sanity, I will try not to mix reviews like this in the future. MFC after: 1 month MFC with: r345706 Approved by: emaste (mentor, implicit) |
#
760b1a81 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 |
#
752cabaa |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345704 I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704. Approved by: emaste (mentor, implicit) MFC after: 2 months MFC with: r345704 |
#
9a41926b |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
CXXSTD is the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19732 |
#
58a7b5d6 |
|
22-Jan-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ build glue, and ObsoleteFiles. |
#
488aa40a |
|
02-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ and libc++experimental Makefiles, add libc++fs Makefile, and update OptionalObsoleteFiles.inc for new additions. |
#
c4394386 |
|
13-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r307894, and update build glue.
|
#
24d58133 |
|
16-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r305575, and update build glue.
|
#
f9448bf3 |
|
01-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304460, and update build glue.
|
#
302affcb |
|
29-May-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304149, and update build glue.
|
#
540d2a8b |
|
22-Apr-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ trunk r300890, and update build glue.
|
#
5d77776c |
|
19-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Belatedly add variant.cpp to libc++. This completes the support for the upcoming C++17 std::variant template. |
#
3f910b91 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Update the libc++ Makefile to be more like the other llvm and clang Makefiles. |
#
80779b37 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ trunk r291476, update Makefile, ObsoleteFiles.inc and OptionalObsoleteFiles.inc.
|
#
7b173dd6 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Add additional libc++ 4.0.0 headers. |
#
aed8d94e |
|
08-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ r291274, and update the library Makefile.
|
#
629582ca |
|
10-Dec-2016 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Now that external gcc directly natively links to libc++ we can remove the dirty hack made to fake libstdc++ |
#
7c82a1ec |
|
30-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to release_39 branch r279689.
|
#
f661dbee |
|
29-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
GCC External: Revert r300886, r300904, r300917, r300918 The fix in r300873 is mostly enough. A fix for lib32 will be committed.separately. |
#
1766eeaf |
|
28-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Use a relative symlink for proper --sysroot support. Sponsored by: EMC / Isilon Storage Division |
#
ce00342b |
|
27-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Move external GCC compiler hacks to bsd.sys.mk. This allows respecting -nostdinc, -nostdinc++ and -nostdlib before making the decision to add in -isystem, etc. The -isystem flags are problematic for building lib/libc++ and lib/libcxxrt which wants to only use its own headers. More information the need of these flags can be found at https://gcc.gnu.org/ml/gcc/2016-03/msg00219.html This also reverts r300873. Sponsored by: EMC / Isilon Storage Division |
#
09210a28 |
|
27-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
After r300770, for libc++ and libcxxrt, use -isystem instead of -I. This should fix builds with external gcc toolchains from ports, which also use -isystem to work around problems with gcc's --sysroot implementation. Thanks to Bryan Drewery for this workaround. |
#
9729cf09 |
|
26-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to 3.8.0. Excerpted list of fixes (with upstream revision numbers): r242679 Implement the plugin-based version of std::search. There are no searchers yet; those are coming soon. r242682 Implement the default searcher for std::experimental::search. r243728 Add <experimental/any> v2. r245330 implement more of N4258 - Cleaning up noexcept in the standard library. Specifically add new noexcept stuff to vector and string's move-assignment operations r245334 Fix PR22606 - Leak pthread_key with static storage duration to ensure all of thread-local destructors are called. r245335 Fix PR23589: std::function doesn't recognize null pointer to varargs function. r247036 Implementation of Boyer-Moore and Boyer-Moore-Horspool searchers for the LFTS. r249325 Implement LWG#2063, and update the issues links to point to the github generated pages r249738 Split <ctype.h> out of <cctype>. r249739 Split <errno.h> out of <cerrno>. r249740 Split <float.h> out of <cfloat>. r249741 Split <inttypes.h> out of <cinttypes>. r249742 Split <math.h> out of <cmath>. r249743 Split <setjmp.h> out of <csetjmp>. r249761 Split <stddef.h> out of <cstddef>. r249798 Split <stdio.h> out of <cstdio>. r249800 Split <stdlib.h> out of <cstdlib>. r249889 Split <wchar.h> out of <cwchar>. r249890 Split <wctype.h> out of <cwctype>. r249929 Split <string.h> out of <cstring>. r250254 ABI versioning macros for libc++. r251246 Fix LWG#2244: basic_istream::seekg r251247 Fix LWG#2127: Move-construction with raw_storage_iterator. r251253 Fix LWG#2476: scoped_allocator_adaptor is not assignable r251257 Fix LWG#2489: mem_fn() should be noexcept r251618 Implement P0004R1 'Remove Deprecated iostreams aliases' r251766 Implement the first part of P0006R0: Adopt Type Traits Variable Templates for C++17. r252195 Implement P0092R1 for C++1z r252350 Allow deque to handle incomplete types. r252406 More of P0006R0: type traits variable aliases for C++17. r252407 Implement LWG#2353: std::next is over-constrained r252905 Implement P0074: Making owner_less more flexible r253215 Implement P0013R1: Logical Operator Type Traits. r253274 Implement P0007: Constant View: A proposal for a std::as_const helper function template. r254119 Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. r254283 Implement more of P0006; Type Traits Variable Templates. r255941 LWG2485: get() should be overloaded for const tuple&&. r256325 Fix LWG Issue #2367 - Fixing std::tuple and std::pair's default constructors. r256652 Fix for ALL undefined behavior in <list>. r256859 First half of LWG#2354: 'Unnecessary copying when inserting into maps with braced-init syntax' Exp-run: antoine Relnotes: yes
|
#
53835448 |
|
14-Mar-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH Sponsored by: The FreeBSD Foundation
|
#
7533aa15 |
|
11-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Add missing CLEANFILES. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division |
#
c389411c |
|
05-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
Remove libc, librtld_db, libthr packages, and further increase the constraints on what needs to be installed in a specific to maintain consistency during upgrades. Create a new clibs package containing libraries that are needed as a bare minimum for consistency. With much help and input from: kib Sponsored by: The FreeBSD Foundation |
#
a70cba95 |
|
04-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
First pass through library packaging. Sponsored by: The FreeBSD Foundation |
#
c455b924 |
|
14-Jan-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Set -mlong-calls where needed to get a static clang and lldb 3.8.0 linking. These are too large for a branch instruction to branch from an earlier point in the code to somewhere later. This will also allow these to be build with Thumb-2 when we get this infrastructure. Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D4855 |
#
a9f9ec24 |
|
03-Dec-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Replace ln -s calls with INSTALL_SYMLINK Sponsored by: EMC / Isilon Storage Division |
#
3c89d6b0 |
|
01-Dec-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Don't override LIB*DIR variables from src.libnames.mk. In some cases switch to the LIB*SRCDIR value. These recently were defined in r291327 and r291619. Sponsored by: EMC / Isilon Storage Division |
#
1e36b7df |
|
30-Nov-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META MODE: Libc++ does in fact need Libcxxrt. There seems to be no cyclic dependency here. This partially reverts r283595 which had no explanation for the change. Sponsored by: EMC / Isilon Storage Division |
#
b791fbe6 |
|
25-Nov-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META MODE: Don't create .meta files when symlinking sources into the obj directory. Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine. Sponsored by: EMC / Isilon Storage Division |
#
602af66b |
|
06-Oct-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Stop linking libc++.so verbosely, there is no need to. MFC after: 3 days |
#
854fa44b |
|
16-Sep-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to 3.7.0 release.
|
#
98e0ffae |
|
26-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge sync of head
|
#
d72607e9 |
|
15-Jan-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Import libc++ trunk r224926. This fixes a number of bugs, completes C++14 support[1], adds more C++1z features[2], and fixes the following LWG issues[3]: 1450: Contradiction in regex_constants 2003: String exception inconsistency in erase. 2075: Progress guarantees, lock-free property, and scheduling assumptions 2104: unique_lock move-assignment should not be noexcept 2112: User-defined classes that cannot be derived from 2132: std::function ambiguity 2135: Unclear requirement for exceptions thrown in condition_variable::wait() 2142: packaged_task::operator() synchronization too broad? 2182: Container::[const_]reference types are misleadingly specified 2186: Incomplete action on async/launch::deferred 2188: Reverse iterator does not fully support targets that overload operator& 2193: Default constructors for standard library containers are explicit 2205: Problematic postconditions of regex_match and regex_search 2213: Return value of std::regex_replace 2240: Probable misuse of term "function scope" in [thread.condition] 2252: Strong guarantee on vector::push_back() still broken with C++11? 2257: Simplify container requirements with the new algorithms 2258: a.erase(q1, q2) unable to directly return q2 2263: Comparing iterators and allocator pointers with different const-character 2268: Setting a default argument in the declaration of a member function assign of std::basic_string 2271: regex_traits::lookup_classname specification unclear 2272: quoted should use char_traits::eq for character comparison 2278: User-defined literals for Standard Library types 2280: begin / end for arrays should be constexpr and noexcept 2285: make_reverse_iterator 2288: Inconsistent requirements for shared mutexes 2291: std::hash is vulnerable to collision DoS attack 2293: Wrong facet used by num_put::do_put 2299: Effects of inaccessible key_compare::is_transparent type are not clear 2301: Why is std::tie not constexpr? 2304: Complexity of count in unordered associative containers 2306: match_results::reference should be value_type&, not const value_type& 2308: Clarify container destructor requirements w.r.t. std::array 2313: tuple_size should always derive from integral_constant<size_t, N> 2314: apply() should return decltype(auto) and use decay_t before tuple_size 2315: weak_ptr should be movable 2316: weak_ptr::lock() should be atomic 2317: The type property queries should be UnaryTypeTraits returning size_t 2320: select_on_container_copy_construction() takes allocators, not containers 2322: Associative(initializer_list, stuff) constructors are underspecified 2323: vector::resize(n, t)'s specification should be simplified 2324: Insert iterator constructors should use addressof() 2329: regex_match()/regex_search() with match_results should forbid temporary strings 2330: regex("meow", regex::icase) is technically forbidden but should be permitted 2332: regex_iterator/regex_token_iterator should forbid temporary regexes 2339: Wording issue in nth_element 2341: Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) 2344: quoted()'s interaction with padding is unclear 2346: integral_constant's member functions should be marked noexcept 2350: min, max, and minmax should be constexpr 2356: Stability of erasure in unordered associative containers 2357: Remaining "Assignable" requirement 2359: How does regex_constants::nosubs affect basic_regex::mark_count()? 2360: reverse_iterator::operator*() is unimplementable [1] http://libcxx.llvm.org/cxx1y_status.html [2] http://libcxx.llvm.org/cxx1z_status.html [3] http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html Exp-run: antoine MFC after: 1 month
|
#
6b129086 |
|
25-Nov-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Convert libraries to use LIBADD While here reduce a bit overlinking |
#
aa7703be |
|
21-Oct-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
When using an external gcc 4.8+ and not building libstdc++ then create in the objectdir a fake libstdc++.so and libstdc++.a which is a symlink on libc++ that allow g++ to satisfy its links dependencies in the least hackish way. Please note that this hacky libstds++ never get installed on the final system Reviewed by: imp |
#
c71728df |
|
25-Aug-2014 |
Roman Divacky <rdivacky@FreeBSD.org> |
The standard we compile libc++ with is called c++11 not c++0x. |
#
4f7ab58e |
|
30-Jan-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Import libc++ 3.4 release. This contains a lot of bugfixes, and some preliminary support for C++1y. MFC after: 3 weeks
|
#
c354d333 |
|
04-Sep-2013 |
David Chisnall <theraven@FreeBSD.org> |
Add a c++/v1/tr1 include directory containing symlinks to all of the standard headrs. Lots of third-party code expects to find C++03 headers under tr1 because that's where GNU decided to hide them. This should fix ports that expect them there. MFC after: 1 week |
#
e669ff37 |
|
03-Aug-2013 |
Dimitry Andric <dim@FreeBSD.org> |
After r253839, which modifies ld's behaviour to not automatically pull in needed libraries, change libc++.so into a linker script, so it can automatically pull in libcxxrt.so. MFC after: 1 week |
#
a006bb4b |
|
01-Nov-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Fix broken macro checking in the libc++ Makefile, introduced in r241909. This caused -std=c++0x not to be passed to the build by default. Pointy hat to: dim MFC after: 3 days |
#
cb554de2 |
|
22-Oct-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Allow building libc++ with any custom -std=xxx flag. Note that using -std=gnu++98 will give a lot of warnings with clang, so please use -std=c++0x or higher, or use NO_WERROR. MFC after: 1 week |
#
15e154df |
|
25-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Add libcxxrt's objects (prefixing them with cxxrt_ to avoid collisions) to libc++.a and libc++_p.a, to make static linking of C++ executables with libc++ easier. This is similar to the approach used in libstdc++. MFC after: 2 weeks |
#
cd38c408 |
|
02-Jun-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Install libcxxrt's C++ ABI and unwind headers. This is done in libc++'s Makefile, so these headers go into the same destination directory as libc++'s own headers, currently /usr/include/c++/v1. MFC after: 3 days |
#
01dd3d87 |
|
02-Jun-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Tabify libcxxrt and libc++'s Makefiles. MFC after: 3 days |
#
15d321c5 |
|
17-Mar-2012 |
Peter Wemm <peter@FreeBSD.org> |
Make sure libgcc_s is finished building in _startup_libs before building libcxxrt with high -j levels. The workaround in libc++/Makefile isn't necessary once that race is solved. Reviewed by: theravin |
#
94e3ee44 |
|
13-Mar-2012 |
David Chisnall <theraven@FreeBSD.org> |
Import new versions of libcxxrt and libc++. Please tests any C++ code you care about with -stdlib=libc++! Approved by: dim (mentor)
|
#
7a984708 |
|
25-Nov-2011 |
David Chisnall <theraven@FreeBSD.org> |
Import libc++ / libcxxrt into base. Not build by default yet (use MK_LIBCPLUSPLUS=yes to enable). This is a work-in-progress. It works for me, but is not guaranteed to work for anyone else and may eat your dog. To build C++ using libc++, add -stdlib=libc++ to your CXX and LD flags. Bug reports welcome, bug fixes even more welcome... Approved by: dim (mentor)
|
#
53683b95 |
|
07-Apr-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Apply libc++ fix for <ranges> not compiling at all Merge commit 44cdca37c01a from llvm git (by Arthur O'Dwyer): [libc++] Define `namespace views` in its own detail header. Discovered in the comments on D118748: we would like this namespace to exist anytime Ranges exists, regardless of whether concepts syntax is supported. Also, we'd like to fully granularize the <ranges> header, which means not putting any loose declarations at the top level. Differential Revision: https://reviews.llvm.org/D118809
|
#
c00d3456 |
|
10-Feb-2022 |
John Baldwin <jhb@FreeBSD.org> |
Install unwind.h into /usr/include Install headers from LLVM's libunwind in place of the headers from libcxxrt and allow C applications to use the library. As part of this, remove include/unwind.h and switch libthr over to using the installed unwind.h. Reviewed by: dim, emaste MFC after: 10 days Differential Revision: https://reviews.freebsd.org/D34065
|
#
5e6a2d6e |
|
30-Dec-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Reapply: move libc++ from /usr/lib to /lib As with other runtime components like libc or libcxxrt. If desired we can stop linking devd statically after this change (to achive approximately no net change in required root filesystem size). We must set SHLIBDIR with ?= before including <src.opts.mk>, otherwise that will have set SHBLIDIR to its default value of /usr/lib. Otherwise, "make delete-old-libs" would suggest to delete libc++.so.1 from /usr/lib, while there was not yet a copy in /lib. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33123
|
#
b6f7942c |
|
30-Dec-2021 |
Ed Maste <emaste@FreeBSD.org> |
Revert "Move libc++ from /usr/lib to /lib" This reverts commit 6b1c5775d1c29c7c42201254df82aca9f3820bc8. There are reports of errors with this change. Reported by: antoine
|
#
6b1c5775 |
|
29-Dec-2021 |
Ed Maste <emaste@FreeBSD.org> |
Move libc++ from /usr/lib to /lib As with other runtime components like libc or libcxxrt. If desired we can stop linking devd statically after this change (to achive approximately no net change in required root filesystem size). Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33123
|
#
6e75b2fb |
|
25-Aug-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a. PR: 258209 MFC after: 2 weeks
|
#
d409305f |
|
26-Apr-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project 12.0.0 release This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release. PR: 255570 MFC after: 6 weeks
|
#
95aa617e |
|
03-Jun-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Add C++ headers <barrier> <concepts> <execution> <latch> <numbers> <semaphore> I missed adding these to the libc++ Makefile, when importing llvm-project 11.0.0-rc1, even though they were supplied by upstream. While here, update OptionalObsoleteFiles.inc to add these new headers, and cleanup old cruft. Reported by: yuri Submitted by: jkim (Makefile diff) PR: 255374 MFC after: 3 days |
#
ecebb3cc |
|
11-Sep-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Only set WARNS if not defined This would allow interested parties to do experimental runs with an environment set appropriately to raise all the warnings throughout the build; e.g. env WARNS=6 NO_WERROR=yes buildworld. Not currently touching the numerous instances in ^/tools. MFC after: 1 week |
#
c37f312d |
|
21-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Add a few new source files to libc++, in particular the implementation part of std::random_shuffle. These were split off at some point by upstream, but I forgot to add them to our Makefile. This should allow some ports which use std::random_shuffle to correctly link again. Reported by: thierry PR: 248795 MFC after: 6 weeks X-MFX-With: r364284 |
#
da759cfa |
|
10-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Remove -mlong-calls vhen building arm libraries and llvm. Clang from 9.0.0 onwards already has the necessary relocation range extenders, so this workaround is no longer needed (it produces longer and slower code). Tested on real hardware, and in cross-compile environment. Submitted by: mmel |
#
97e6bc16 |
|
27-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for libc++. |
#
4b50c451 |
|
14-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Revert r353140: Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around arichardson has an actual fix for the same issue that this was working around; given that we don't build with llvm today, go ahead and revert the workaround in advance. |
#
0b57cec5 |
|
20-Dec-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Move all sources from the llvm project into contrib/llvm-project. This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. |
#
8b3bc70a |
|
08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352764 through r353315.
|
#
036d2e81 |
|
05-Oct-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around Diff partially stolen from CheriBSD; these bits need -Wl,-z,notext in order to build in an LLVM world. They are needed for all flavors/sizes of MIPS. This will eventually get fixed in LLVM, but it's unclear when. Reported by: arichardson, emaste Differential Revision: https://reviews.freebsd.org/D21696 |
#
b0d4288f |
|
28-Aug-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for building libc++. |
#
1109b774 |
|
22-Apr-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Rework CXXSTD setting via r345708 This change allows the user to once again override the C++ standard, restoring high-level pre-r345708 behavior. This also unbreaks building lib/ofed/libibnetdisc/Makefile with a non-C++11 capable compiler, e.g., g++ 4.2.1, as the library supported being built with older C++ standards. MFC after: 2 weeks MFC with: r345708 Reviewed by: emaste Reported by: jbeich Differential Revision: https://reviews.freebsd.org/D19895 (as part of a larger change) |
#
e8067928 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 |
#
bdbf3440 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345706: the third time will be the charm When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and repeated my mistake from r345704 by accident mixing content from D19732 and D19738. For my own personal sanity, I will try not to mix reviews like this in the future. MFC after: 1 month MFC with: r345706 Approved by: emaste (mentor, implicit) |
#
760b1a81 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 |
#
752cabaa |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345704 I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704. Approved by: emaste (mentor, implicit) MFC after: 2 months MFC with: r345704 |
#
9a41926b |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
CXXSTD is the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19732 |
#
58a7b5d6 |
|
22-Jan-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ build glue, and ObsoleteFiles. |
#
488aa40a |
|
02-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ and libc++experimental Makefiles, add libc++fs Makefile, and update OptionalObsoleteFiles.inc for new additions. |
#
c4394386 |
|
13-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r307894, and update build glue.
|
#
24d58133 |
|
16-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r305575, and update build glue.
|
#
f9448bf3 |
|
01-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304460, and update build glue.
|
#
302affcb |
|
29-May-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304149, and update build glue.
|
#
540d2a8b |
|
22-Apr-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ trunk r300890, and update build glue.
|
#
5d77776c |
|
19-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Belatedly add variant.cpp to libc++. This completes the support for the upcoming C++17 std::variant template. |
#
3f910b91 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Update the libc++ Makefile to be more like the other llvm and clang Makefiles. |
#
80779b37 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ trunk r291476, update Makefile, ObsoleteFiles.inc and OptionalObsoleteFiles.inc.
|
#
7b173dd6 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Add additional libc++ 4.0.0 headers. |
#
aed8d94e |
|
08-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libc++ r291274, and update the library Makefile.
|
#
629582ca |
|
10-Dec-2016 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Now that external gcc directly natively links to libc++ we can remove the dirty hack made to fake libstdc++ |
#
7c82a1ec |
|
30-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to release_39 branch r279689.
|
#
f661dbee |
|
29-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
GCC External: Revert r300886, r300904, r300917, r300918 The fix in r300873 is mostly enough. A fix for lib32 will be committed.separately. |
#
1766eeaf |
|
28-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Use a relative symlink for proper --sysroot support. Sponsored by: EMC / Isilon Storage Division |
#
ce00342b |
|
27-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Move external GCC compiler hacks to bsd.sys.mk. This allows respecting -nostdinc, -nostdinc++ and -nostdlib before making the decision to add in -isystem, etc. The -isystem flags are problematic for building lib/libc++ and lib/libcxxrt which wants to only use its own headers. More information the need of these flags can be found at https://gcc.gnu.org/ml/gcc/2016-03/msg00219.html This also reverts r300873. Sponsored by: EMC / Isilon Storage Division |
#
09210a28 |
|
27-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
After r300770, for libc++ and libcxxrt, use -isystem instead of -I. This should fix builds with external gcc toolchains from ports, which also use -isystem to work around problems with gcc's --sysroot implementation. Thanks to Bryan Drewery for this workaround. |
#
9729cf09 |
|
26-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to 3.8.0. Excerpted list of fixes (with upstream revision numbers): r242679 Implement the plugin-based version of std::search. There are no searchers yet; those are coming soon. r242682 Implement the default searcher for std::experimental::search. r243728 Add <experimental/any> v2. r245330 implement more of N4258 - Cleaning up noexcept in the standard library. Specifically add new noexcept stuff to vector and string's move-assignment operations r245334 Fix PR22606 - Leak pthread_key with static storage duration to ensure all of thread-local destructors are called. r245335 Fix PR23589: std::function doesn't recognize null pointer to varargs function. r247036 Implementation of Boyer-Moore and Boyer-Moore-Horspool searchers for the LFTS. r249325 Implement LWG#2063, and update the issues links to point to the github generated pages r249738 Split <ctype.h> out of <cctype>. r249739 Split <errno.h> out of <cerrno>. r249740 Split <float.h> out of <cfloat>. r249741 Split <inttypes.h> out of <cinttypes>. r249742 Split <math.h> out of <cmath>. r249743 Split <setjmp.h> out of <csetjmp>. r249761 Split <stddef.h> out of <cstddef>. r249798 Split <stdio.h> out of <cstdio>. r249800 Split <stdlib.h> out of <cstdlib>. r249889 Split <wchar.h> out of <cwchar>. r249890 Split <wctype.h> out of <cwctype>. r249929 Split <string.h> out of <cstring>. r250254 ABI versioning macros for libc++. r251246 Fix LWG#2244: basic_istream::seekg r251247 Fix LWG#2127: Move-construction with raw_storage_iterator. r251253 Fix LWG#2476: scoped_allocator_adaptor is not assignable r251257 Fix LWG#2489: mem_fn() should be noexcept r251618 Implement P0004R1 'Remove Deprecated iostreams aliases' r251766 Implement the first part of P0006R0: Adopt Type Traits Variable Templates for C++17. r252195 Implement P0092R1 for C++1z r252350 Allow deque to handle incomplete types. r252406 More of P0006R0: type traits variable aliases for C++17. r252407 Implement LWG#2353: std::next is over-constrained r252905 Implement P0074: Making owner_less more flexible r253215 Implement P0013R1: Logical Operator Type Traits. r253274 Implement P0007: Constant View: A proposal for a std::as_const helper function template. r254119 Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. r254283 Implement more of P0006; Type Traits Variable Templates. r255941 LWG2485: get() should be overloaded for const tuple&&. r256325 Fix LWG Issue #2367 - Fixing std::tuple and std::pair's default constructors. r256652 Fix for ALL undefined behavior in <list>. r256859 First half of LWG#2354: 'Unnecessary copying when inserting into maps with braced-init syntax' Exp-run: antoine Relnotes: yes
|
#
53835448 |
|
14-Mar-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH Sponsored by: The FreeBSD Foundation
|
#
7533aa15 |
|
11-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Add missing CLEANFILES. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division |
#
c389411c |
|
05-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
Remove libc, librtld_db, libthr packages, and further increase the constraints on what needs to be installed in a specific to maintain consistency during upgrades. Create a new clibs package containing libraries that are needed as a bare minimum for consistency. With much help and input from: kib Sponsored by: The FreeBSD Foundation |
#
a70cba95 |
|
04-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
First pass through library packaging. Sponsored by: The FreeBSD Foundation |
#
c455b924 |
|
14-Jan-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Set -mlong-calls where needed to get a static clang and lldb 3.8.0 linking. These are too large for a branch instruction to branch from an earlier point in the code to somewhere later. This will also allow these to be build with Thumb-2 when we get this infrastructure. Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D4855 |
#
a9f9ec24 |
|
03-Dec-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Replace ln -s calls with INSTALL_SYMLINK Sponsored by: EMC / Isilon Storage Division |
#
3c89d6b0 |
|
01-Dec-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Don't override LIB*DIR variables from src.libnames.mk. In some cases switch to the LIB*SRCDIR value. These recently were defined in r291327 and r291619. Sponsored by: EMC / Isilon Storage Division |
#
1e36b7df |
|
30-Nov-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META MODE: Libc++ does in fact need Libcxxrt. There seems to be no cyclic dependency here. This partially reverts r283595 which had no explanation for the change. Sponsored by: EMC / Isilon Storage Division |
#
b791fbe6 |
|
25-Nov-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META MODE: Don't create .meta files when symlinking sources into the obj directory. Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine. Sponsored by: EMC / Isilon Storage Division |
#
602af66b |
|
06-Oct-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Stop linking libc++.so verbosely, there is no need to. MFC after: 3 days |
#
854fa44b |
|
16-Sep-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ to 3.7.0 release.
|
#
98e0ffae |
|
26-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge sync of head
|
#
d72607e9 |
|
15-Jan-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Import libc++ trunk r224926. This fixes a number of bugs, completes C++14 support[1], adds more C++1z features[2], and fixes the following LWG issues[3]: 1450: Contradiction in regex_constants 2003: String exception inconsistency in erase. 2075: Progress guarantees, lock-free property, and scheduling assumptions 2104: unique_lock move-assignment should not be noexcept 2112: User-defined classes that cannot be derived from 2132: std::function ambiguity 2135: Unclear requirement for exceptions thrown in condition_variable::wait() 2142: packaged_task::operator() synchronization too broad? 2182: Container::[const_]reference types are misleadingly specified 2186: Incomplete action on async/launch::deferred 2188: Reverse iterator does not fully support targets that overload operator& 2193: Default constructors for standard library containers are explicit 2205: Problematic postconditions of regex_match and regex_search 2213: Return value of std::regex_replace 2240: Probable misuse of term "function scope" in [thread.condition] 2252: Strong guarantee on vector::push_back() still broken with C++11? 2257: Simplify container requirements with the new algorithms 2258: a.erase(q1, q2) unable to directly return q2 2263: Comparing iterators and allocator pointers with different const-character 2268: Setting a default argument in the declaration of a member function assign of std::basic_string 2271: regex_traits::lookup_classname specification unclear 2272: quoted should use char_traits::eq for character comparison 2278: User-defined literals for Standard Library types 2280: begin / end for arrays should be constexpr and noexcept 2285: make_reverse_iterator 2288: Inconsistent requirements for shared mutexes 2291: std::hash is vulnerable to collision DoS attack 2293: Wrong facet used by num_put::do_put 2299: Effects of inaccessible key_compare::is_transparent type are not clear 2301: Why is std::tie not constexpr? 2304: Complexity of count in unordered associative containers 2306: match_results::reference should be value_type&, not const value_type& 2308: Clarify container destructor requirements w.r.t. std::array 2313: tuple_size should always derive from integral_constant<size_t, N> 2314: apply() should return decltype(auto) and use decay_t before tuple_size 2315: weak_ptr should be movable 2316: weak_ptr::lock() should be atomic 2317: The type property queries should be UnaryTypeTraits returning size_t 2320: select_on_container_copy_construction() takes allocators, not containers 2322: Associative(initializer_list, stuff) constructors are underspecified 2323: vector::resize(n, t)'s specification should be simplified 2324: Insert iterator constructors should use addressof() 2329: regex_match()/regex_search() with match_results should forbid temporary strings 2330: regex("meow", regex::icase) is technically forbidden but should be permitted 2332: regex_iterator/regex_token_iterator should forbid temporary regexes 2339: Wording issue in nth_element 2341: Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) 2344: quoted()'s interaction with padding is unclear 2346: integral_constant's member functions should be marked noexcept 2350: min, max, and minmax should be constexpr 2356: Stability of erasure in unordered associative containers 2357: Remaining "Assignable" requirement 2359: How does regex_constants::nosubs affect basic_regex::mark_count()? 2360: reverse_iterator::operator*() is unimplementable [1] http://libcxx.llvm.org/cxx1y_status.html [2] http://libcxx.llvm.org/cxx1z_status.html [3] http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html Exp-run: antoine MFC after: 1 month
|
#
6b129086 |
|
25-Nov-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Convert libraries to use LIBADD While here reduce a bit overlinking |
#
aa7703be |
|
21-Oct-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
When using an external gcc 4.8+ and not building libstdc++ then create in the objectdir a fake libstdc++.so and libstdc++.a which is a symlink on libc++ that allow g++ to satisfy its links dependencies in the least hackish way. Please note that this hacky libstds++ never get installed on the final system Reviewed by: imp |
#
c71728df |
|
25-Aug-2014 |
Roman Divacky <rdivacky@FreeBSD.org> |
The standard we compile libc++ with is called c++11 not c++0x. |
#
4f7ab58e |
|
30-Jan-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Import libc++ 3.4 release. This contains a lot of bugfixes, and some preliminary support for C++1y. MFC after: 3 weeks
|
#
c354d333 |
|
04-Sep-2013 |
David Chisnall <theraven@FreeBSD.org> |
Add a c++/v1/tr1 include directory containing symlinks to all of the standard headrs. Lots of third-party code expects to find C++03 headers under tr1 because that's where GNU decided to hide them. This should fix ports that expect them there. MFC after: 1 week |
#
e669ff37 |
|
03-Aug-2013 |
Dimitry Andric <dim@FreeBSD.org> |
After r253839, which modifies ld's behaviour to not automatically pull in needed libraries, change libc++.so into a linker script, so it can automatically pull in libcxxrt.so. MFC after: 1 week |
#
a006bb4b |
|
01-Nov-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Fix broken macro checking in the libc++ Makefile, introduced in r241909. This caused -std=c++0x not to be passed to the build by default. Pointy hat to: dim MFC after: 3 days |
#
cb554de2 |
|
22-Oct-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Allow building libc++ with any custom -std=xxx flag. Note that using -std=gnu++98 will give a lot of warnings with clang, so please use -std=c++0x or higher, or use NO_WERROR. MFC after: 1 week |
#
15e154df |
|
25-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Add libcxxrt's objects (prefixing them with cxxrt_ to avoid collisions) to libc++.a and libc++_p.a, to make static linking of C++ executables with libc++ easier. This is similar to the approach used in libstdc++. MFC after: 2 weeks |
#
cd38c408 |
|
02-Jun-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Install libcxxrt's C++ ABI and unwind headers. This is done in libc++'s Makefile, so these headers go into the same destination directory as libc++'s own headers, currently /usr/include/c++/v1. MFC after: 3 days |
#
01dd3d87 |
|
02-Jun-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Tabify libcxxrt and libc++'s Makefiles. MFC after: 3 days |
#
15d321c5 |
|
17-Mar-2012 |
Peter Wemm <peter@FreeBSD.org> |
Make sure libgcc_s is finished building in _startup_libs before building libcxxrt with high -j levels. The workaround in libc++/Makefile isn't necessary once that race is solved. Reviewed by: theravin |
#
94e3ee44 |
|
13-Mar-2012 |
David Chisnall <theraven@FreeBSD.org> |
Import new versions of libcxxrt and libc++. Please tests any C++ code you care about with -stdlib=libc++! Approved by: dim (mentor)
|
#
7a984708 |
|
25-Nov-2011 |
David Chisnall <theraven@FreeBSD.org> |
Import libc++ / libcxxrt into base. Not build by default yet (use MK_LIBCPLUSPLUS=yes to enable). This is a work-in-progress. It works for me, but is not guaranteed to work for anyone else and may eat your dog. To build C++ using libc++, add -stdlib=libc++ to your CXX and LD flags. Bug reports welcome, bug fixes even more welcome... Approved by: dim (mentor)
|
#
95aa617e |
|
03-Jun-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Add C++ headers <barrier> <concepts> <execution> <latch> <numbers> <semaphore> I missed adding these to the libc++ Makefile, when importing llvm-project 11.0.0-rc1, even though they were supplied by upstream. While here, update OptionalObsoleteFiles.inc to add these new headers, and cleanup old cruft. Reported by: yuri Submitted by: jkim (Makefile diff) PR: 255374 MFC after: 3 days
|
#
ecebb3cc |
|
11-Sep-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Only set WARNS if not defined This would allow interested parties to do experimental runs with an environment set appropriately to raise all the warnings throughout the build; e.g. env WARNS=6 NO_WERROR=yes buildworld. Not currently touching the numerous instances in ^/tools. MFC after: 1 week
|
#
c37f312d |
|
21-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Add a few new source files to libc++, in particular the implementation part of std::random_shuffle. These were split off at some point by upstream, but I forgot to add them to our Makefile. This should allow some ports which use std::random_shuffle to correctly link again. Reported by: thierry PR: 248795 MFC after: 6 weeks X-MFX-With: r364284
|
#
da759cfa |
|
10-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Remove -mlong-calls vhen building arm libraries and llvm. Clang from 9.0.0 onwards already has the necessary relocation range extenders, so this workaround is no longer needed (it produces longer and slower code). Tested on real hardware, and in cross-compile environment. Submitted by: mmel
|
#
97e6bc16 |
|
27-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for libc++.
|
#
4b50c451 |
|
14-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Revert r353140: Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around arichardson has an actual fix for the same issue that this was working around; given that we don't build with llvm today, go ahead and revert the workaround in advance.
|
#
0b57cec5 |
|
20-Dec-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Move all sources from the llvm project into contrib/llvm-project. This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next.
|
#
036d2e81 |
|
05-Oct-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around Diff partially stolen from CheriBSD; these bits need -Wl,-z,notext in order to build in an LLVM world. They are needed for all flavors/sizes of MIPS. This will eventually get fixed in LLVM, but it's unclear when. Reported by: arichardson, emaste Differential Revision: https://reviews.freebsd.org/D21696
|
#
b0d4288f |
|
28-Aug-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update build glue for building libc++.
|
#
1109b774 |
|
22-Apr-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Rework CXXSTD setting via r345708 This change allows the user to once again override the C++ standard, restoring high-level pre-r345708 behavior. This also unbreaks building lib/ofed/libibnetdisc/Makefile with a non-C++11 capable compiler, e.g., g++ 4.2.1, as the library supported being built with older C++ standards. MFC after: 2 weeks MFC with: r345708 Reviewed by: emaste Reported by: jbeich Differential Revision: https://reviews.freebsd.org/D19895 (as part of a larger change)
|
#
e8067928 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732
|
#
bdbf3440 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345706: the third time will be the charm When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and repeated my mistake from r345704 by accident mixing content from D19732 and D19738. For my own personal sanity, I will try not to mix reviews like this in the future. MFC after: 1 month MFC with: r345706 Approved by: emaste (mentor, implicit)
|
#
760b1a81 |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Standardize `-std=c++* as `CXXSTD` CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732
|
#
752cabaa |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345704 I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704. Approved by: emaste (mentor, implicit) MFC after: 2 months MFC with: r345704
|
#
9a41926b |
|
29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
CXXSTD is the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19732
|
#
58a7b5d6 |
|
22-Jan-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ build glue, and ObsoleteFiles.
|
#
488aa40a |
|
02-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Update libc++ and libc++experimental Makefiles, add libc++fs Makefile, and update OptionalObsoleteFiles.inc for new additions.
|
#
5d77776c |
|
19-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Belatedly add variant.cpp to libc++. This completes the support for the upcoming C++17 std::variant template.
|
#
c91dd79f |
|
19-Jan-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones This implifies pathing in make/displayed output MFC after: 3 weeks Sponsored by: Dell EMC Isilon
|
#
3f910b91 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Update the libc++ Makefile to be more like the other llvm and clang Makefiles.
|
#
7b173dd6 |
|
09-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Add additional libc++ 4.0.0 headers.
|
#
629582ca |
|
10-Dec-2016 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Now that external gcc directly natively links to libc++ we can remove the dirty hack made to fake libstdc++
|
#
f661dbee |
|
29-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
GCC External: Revert r300886, r300904, r300917, r300918 The fix in r300873 is mostly enough. A fix for lib32 will be committed.separately.
|
#
1766eeaf |
|
28-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Use a relative symlink for proper --sysroot support. Sponsored by: EMC / Isilon Storage Division
|
#
ce00342b |
|
27-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Move external GCC compiler hacks to bsd.sys.mk. This allows respecting -nostdinc, -nostdinc++ and -nostdlib before making the decision to add in -isystem, etc. The -isystem flags are problematic for building lib/libc++ and lib/libcxxrt which wants to only use its own headers. More information the need of these flags can be found at https://gcc.gnu.org/ml/gcc/2016-03/msg00219.html This also reverts r300873. Sponsored by: EMC / Isilon Storage Division
|
#
09210a28 |
|
27-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
After r300770, for libc++ and libcxxrt, use -isystem instead of -I. This should fix builds with external gcc toolchains from ports, which also use -isystem to work around problems with gcc's --sysroot implementation. Thanks to Bryan Drewery for this workaround.
|
#
7533aa15 |
|
11-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Add missing CLEANFILES. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
c389411c |
|
05-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
Remove libc, librtld_db, libthr packages, and further increase the constraints on what needs to be installed in a specific to maintain consistency during upgrades. Create a new clibs package containing libraries that are needed as a bare minimum for consistency. With much help and input from: kib Sponsored by: The FreeBSD Foundation
|
#
a70cba95 |
|
04-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
First pass through library packaging. Sponsored by: The FreeBSD Foundation
|
#
c455b924 |
|
14-Jan-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Set -mlong-calls where needed to get a static clang and lldb 3.8.0 linking. These are too large for a branch instruction to branch from an earlier point in the code to somewhere later. This will also allow these to be build with Thumb-2 when we get this infrastructure. Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D4855
|
#
a9f9ec24 |
|
03-Dec-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Replace ln -s calls with INSTALL_SYMLINK Sponsored by: EMC / Isilon Storage Division
|
#
3c89d6b0 |
|
01-Dec-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Don't override LIB*DIR variables from src.libnames.mk. In some cases switch to the LIB*SRCDIR value. These recently were defined in r291327 and r291619. Sponsored by: EMC / Isilon Storage Division
|
#
1e36b7df |
|
30-Nov-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META MODE: Libc++ does in fact need Libcxxrt. There seems to be no cyclic dependency here. This partially reverts r283595 which had no explanation for the change. Sponsored by: EMC / Isilon Storage Division
|
#
b791fbe6 |
|
25-Nov-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META MODE: Don't create .meta files when symlinking sources into the obj directory. Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine. Sponsored by: EMC / Isilon Storage Division
|
#
602af66b |
|
06-Oct-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Stop linking libc++.so verbosely, there is no need to. MFC after: 3 days
|
#
6b129086 |
|
25-Nov-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Convert libraries to use LIBADD While here reduce a bit overlinking
|
#
aa7703be |
|
21-Oct-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
When using an external gcc 4.8+ and not building libstdc++ then create in the objectdir a fake libstdc++.so and libstdc++.a which is a symlink on libc++ that allow g++ to satisfy its links dependencies in the least hackish way. Please note that this hacky libstds++ never get installed on the final system Reviewed by: imp
|
#
c71728df |
|
25-Aug-2014 |
Roman Divacky <rdivacky@FreeBSD.org> |
The standard we compile libc++ with is called c++11 not c++0x.
|
#
c354d333 |
|
04-Sep-2013 |
David Chisnall <theraven@FreeBSD.org> |
Add a c++/v1/tr1 include directory containing symlinks to all of the standard headrs. Lots of third-party code expects to find C++03 headers under tr1 because that's where GNU decided to hide them. This should fix ports that expect them there. MFC after: 1 week
|
#
e669ff37 |
|
03-Aug-2013 |
Dimitry Andric <dim@FreeBSD.org> |
After r253839, which modifies ld's behaviour to not automatically pull in needed libraries, change libc++.so into a linker script, so it can automatically pull in libcxxrt.so. MFC after: 1 week
|
#
a006bb4b |
|
01-Nov-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Fix broken macro checking in the libc++ Makefile, introduced in r241909. This caused -std=c++0x not to be passed to the build by default. Pointy hat to: dim MFC after: 3 days
|
#
cb554de2 |
|
22-Oct-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Allow building libc++ with any custom -std=xxx flag. Note that using -std=gnu++98 will give a lot of warnings with clang, so please use -std=c++0x or higher, or use NO_WERROR. MFC after: 1 week
|
#
15e154df |
|
25-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Add libcxxrt's objects (prefixing them with cxxrt_ to avoid collisions) to libc++.a and libc++_p.a, to make static linking of C++ executables with libc++ easier. This is similar to the approach used in libstdc++. MFC after: 2 weeks
|
#
cd38c408 |
|
02-Jun-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Install libcxxrt's C++ ABI and unwind headers. This is done in libc++'s Makefile, so these headers go into the same destination directory as libc++'s own headers, currently /usr/include/c++/v1. MFC after: 3 days
|
#
01dd3d87 |
|
02-Jun-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Tabify libcxxrt and libc++'s Makefiles. MFC after: 3 days
|
#
15d321c5 |
|
17-Mar-2012 |
Peter Wemm <peter@FreeBSD.org> |
Make sure libgcc_s is finished building in _startup_libs before building libcxxrt with high -j levels. The workaround in libc++/Makefile isn't necessary once that race is solved. Reviewed by: theravin
|