aboutsummaryrefslogtreecommitdiff
path: root/lib/libc++
Commit message (Collapse)AuthorAgeFilesLines
* Use SRCTOP-relative paths to other directories instead of .CURDIR-relative onesEnji Cooper2017-01-201-3/+3
| | | | | | | | | | This implifies pathing in make/displayed output MFC after: 3 weeks Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=312464
* Now that external gcc directly natively links to libc++ we can removeBaptiste Daroussin2016-12-101-10/+0
| | | | | | | the dirty hack made to fake libstdc++ Notes: svn path=/head/; revision=309824
* Update libc++ to release_39 branch r279689.Dimitry Andric2016-08-301-1/+21
| | | | Notes: svn path=/projects/clang390-import/; revision=305076
* GCC External: Revert r300886, r300904, r300917, r300918Bryan Drewery2016-05-291-1/+1
| | | | | | | | The fix in r300873 is mostly enough. A fix for lib32 will be committed.separately. Notes: svn path=/head/; revision=300943
* Use a relative symlink for proper --sysroot support.Bryan Drewery2016-05-281-1/+1
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300905
* Move external GCC compiler hacks to bsd.sys.mk.Bryan Drewery2016-05-271-1/+1
| | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=300886
* After r300770, for libc++ and libcxxrt, use -isystem instead of -I.Dimitry Andric2016-05-271-1/+1
| | | | | | | | | 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. Notes: svn path=/head/; revision=300873
* Update libc++ to 3.8.0. Excerpted list of fixes (with upstream revisionDimitry Andric2016-05-261-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=300770
* MFHGlen Barber2016-03-141-0/+1
|\ | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296869
| * Add missing CLEANFILES.Bryan Drewery2016-03-111-0/+1
| | | | | | | | | | | | | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296707
* | MFHGlen Barber2016-03-021-18/+0
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296318
| * DIRDEPS_BUILD: Regenerate without local dependencies.Bryan Drewery2016-02-241-18/+0
| | | | | | | | | | | | | | | | | | | | | | These are no longer needed after the recent 'beforebuild: depend' changes and hooking DIRDEPS_BUILD into a subset of FAST_DEPEND which supports skipping 'make depend'. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=295989
* | Remove libc, librtld_db, libthr packages, and further increaseGlen Barber2016-02-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/projects/release-pkg/; revision=295337
* | First pass through library packaging.Glen Barber2016-02-041-0/+1
|/ | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295278
* Set -mlong-calls where needed to get a static clang and lldb 3.8.0Andrew Turner2016-01-141-0/+3
| | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=294031
* Replace ln -s calls with INSTALL_SYMLINKBryan Drewery2015-12-041-2/+2
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291734
* Don't override LIB*DIR variables from src.libnames.mk.Bryan Drewery2015-12-011-4/+4
| | | | | | | | | | | In some cases switch to the LIB*SRCDIR value. These recently were defined in r291327 and r291619. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291620
* META MODE: Libc++ does in fact need Libcxxrt.Bryan Drewery2015-12-012-4/+1
| | | | | | | | | | 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 Notes: svn path=/head/; revision=291550
* META MODE: Don't create .meta files when symlinking sources into the obj ↵Bryan Drewery2015-11-251-2/+2
| | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=291320
* Stop linking libc++.so verbosely, there is no need to.Dimitry Andric2015-10-061-1/+0
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=288953
* Update libc++ to 3.7.0 release.Dimitry Andric2015-09-161-1/+6
| | | | Notes: svn path=/projects/clang370-import/; revision=287877
* Add META_MODE support.Simon J. Gerraty2015-06-132-0/+41
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree. Still need to add real targets under targets/ to build packages. Differential Revision: D2796 Reviewed by: brooks imp Notes: svn path=/head/; revision=284345
| * dirdeps.mk now sets DEP_RELDIRSimon J. Gerraty2015-06-081-2/+0
| | | | | | | | Notes: svn path=/projects/bmake/; revision=284172
| * Merge sync of headSimon J. Gerraty2015-05-272-5/+12
| |\ | |/ |/| | | Notes: svn path=/projects/bmake/; revision=283595
| * Merge from head@274682Simon J. Gerraty2014-11-191-1/+13
| |\ | | | | | | | | | Notes: svn path=/projects/bmake/; revision=274683
| * | Updated dependenciesSimon J. Gerraty2014-05-161-1/+0
| | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=266219
| * | Updated dependenciesSimon J. Gerraty2014-05-101-0/+2
| | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265802
| * | New/updated dependenciesSimon J. Gerraty2014-05-051-0/+1
| | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265381
| * | Merge headSimon J. Gerraty2014-04-271-1/+12
| |\ \ | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265006
| * | | New/updated dependenciesSimon J. Gerraty2013-10-171-0/+37
| | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=256698
* | | | Import libc++ trunk r224926. This fixes a number of bugs, completesDimitry Andric2015-01-151-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=277217
* | | | Convert libraries to use LIBADDBaptiste Daroussin2014-11-251-2/+1
| |_|/ |/| | | | | | | | | | | | | | | | | While here reduce a bit overlinking Notes: svn path=/head/; revision=275024
* | | When using an external gcc 4.8+ and not building libstdc++ then create in ↵Baptiste Daroussin2014-10-211-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=273407
* | | The standard we compile libc++ with is called c++11 not c++0x.Roman Divacky2014-08-251-1/+1
| |/ |/| | | | | Notes: svn path=/head/; revision=270522
* | Import libc++ 3.4 release. This contains a lot of bugfixes, and someDimitry Andric2014-01-301-1/+12
|/ | | | | | | | | preliminary support for C++1y. MFC after: 3 weeks Notes: svn path=/head/; revision=261283
* Add a c++/v1/tr1 include directory containing symlinks to all of the standardDavid Chisnall2013-09-041-0/+1
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=255206
* After r253839, which modifies ld's behaviour to not automatically pullDimitry Andric2013-08-032-0/+3
| | | | | | | | | | in needed libraries, change libc++.so into a linker script, so it can automatically pull in libcxxrt.so. MFC after: 1 week Notes: svn path=/head/; revision=253917
* Fix broken macro checking in the libc++ Makefile, introduced in r241909.Dimitry Andric2012-11-021-1/+1
| | | | | | | | | | This caused -std=c++0x not to be passed to the build by default. Pointy hat to: dim MFC after: 3 days Notes: svn path=/head/; revision=242472
* Allow building libc++ with any custom -std=xxx flag. Note that usingDimitry Andric2012-10-221-0/+2
| | | | | | | | | | -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 Notes: svn path=/head/; revision=241909
* Add libcxxrt's objects (prefixing them with cxxrt_ to avoid collisions)Dimitry Andric2012-08-251-1/+18
| | | | | | | | | | 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 Notes: svn path=/head/; revision=239680
* Install libcxxrt's C++ ABI and unwind headers. This is done in libc++'sDimitry Andric2012-06-021-0/+7
| | | | | | | | | | Makefile, so these headers go into the same destination directory as libc++'s own headers, currently /usr/include/c++/v1. MFC after: 3 days Notes: svn path=/head/; revision=236444
* Tabify libcxxrt and libc++'s Makefiles.Dimitry Andric2012-06-021-138/+138
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=236442
* Make sure libgcc_s is finished building in _startup_libs beforePeter Wemm2012-03-171-1/+1
| | | | | | | | | | building libcxxrt with high -j levels. The workaround in libc++/Makefile isn't necessary once that race is solved. Reviewed by: theravin Notes: svn path=/head/; revision=233098
* Import new versions of libcxxrt and libc++.David Chisnall2012-03-141-0/+1
| | | | | | | | | Please tests any C++ code you care about with -stdlib=libc++! Approved by: dim (mentor) Notes: svn path=/head/; revision=232950
* Import libc++ / libcxxrt into base. Not build by default yet (useDavid Chisnall2011-11-251-0/+155
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) Notes: svn path=/head/; revision=227983