{"push_id":574442164,"size":2,"distinct_size":2,"ref":"refs/heads/stable/10","head":"b137f825dc5437b86b9badcabaf55639bb4d862b","before":"d8b2164f70a462483fbb9be8e8edadf15b5c13a3","commits":[{"sha":"3678f64ad386927abc67f2fa9c29e9d841865db8","author":{"email":"4815cec87d4111dde699d9b8c05f36aba801d041@FreeBSD.org","name":"dim"},"message":"Synchronize the default C++ stack in stable/10 with head, by merging\nalmost all recent changes to libc++ and libcxxrt.\n\nMFC r256642:\n  Since C++ typeinfo objects are currently not guaranteed to be merged at\n  runtime by the dynamic linker, check for their equality in libcxxrt by\n  not only comparing the typeinfo's name pointers, but also comparing the\n  full names, if necessary.  (This is similar to what GNU libstdc++ does\n  in its default configuration.)  The 'deep' check can be turned off again\n  by defining LIBCXXRT_MERGED_TYPEINFO, and recompiling libcxxrt.\n\n  Reviewed by:\ttheraven\n\nMFC r270522 (by rdivacky):\n  The standard we compile libc++ with is called c++11 not c++0x.\n\nMFC r273066 (by bapt):\n  Import patch from libc++ r197313 which allows using libc++ headers with gcc\n\n  Differential Revision:\thttps://reviews.freebsd.org/D942\n  Reviewed by:\timp\n\nMFC r273381 (by bapt):\n  Add support for __cxa_throw_bad_array_new_length in libcxxrt\n\n  It is required for use with newer g++49\n\n  Differential Revision:\thttps://reviews.freebsd.org/D982\n  Reviewed by:\ttheraven\n  Approved by:\ttheraven\n\nMFC r273382 (by bapt):\n  Fix build by marking the new functions as weak\n  This is a temporary fix\n\nMFC r273407 (by bapt):\n  When using an external gcc 4.8+ and not building libstdc++ then create in the objectdir a\n  fake libstdc++.so and libstdc++.a which is a symlink on libc++ that allow g++ to satisfy\n  its links dependencies in the least hackish way.\n  Please note that this hacky libstds++ never get installed on the final system\n\n  Reviewed by:\timp\n\nMFC r273434 (by bapt):\n  Do not define bad_array_new_length::bad_array_new_length in libc++ anymore\n  when used in combinaison with libcxxrt since it is now defined there already.\n  This fixes building world\n\nMFC r276417:\n  Import libcxxrt master 00bc29eb6513624824a6d7db2ebc768a4216a604.\n\n  Interesting fixes:\n  76584a0  Reorganize code to use only 32bit atomic ops for 32bit platforms\n  30d2ae5  Implement __cxa_throw_bad_array_new_length\n\n  Reviewed by:\tbapt\n  Differential Revision: https://reviews.freebsd.org/D1390\n\nMFC r277217:\n  Import libc++ trunk r224926.  This fixes a number of bugs, completes\n  C++14 support[1], adds more C++1z features[2], and fixes the following\n  LWG issues[3]:\n\n  1450: Contradiction in regex_constants\n  2003: String exception inconsistency in erase.\n  2075: Progress guarantees, lock-free property, and scheduling\n\tassumptions\n  2104: unique_lock move-assignment should not be noexcept\n  2112: User-defined classes that cannot be derived from\n  2132: std::function ambiguity\n  2135: Unclear requirement for exceptions thrown in\n\tcondition_variable::wait()\n  2142: packaged_task::operator() synchronization too broad?\n  2182: Container::[const_]reference types are misleadingly specified\n  2186: Incomplete action on async/launch::deferred\n  2188: Reverse iterator does not fully support targets that overload\n\toperator&\n  2193: Default constructors for standard library containers are explicit\n  2205: Problematic postconditions of regex_match and regex_search\n  2213: Return value of std::regex_replace\n  2240: Probable misuse of term \"function scope\" in [thread.condition]\n  2252: Strong guarantee on vector::push_back() still broken with C++11?\n  2257: Simplify container requirements with the new algorithms\n  2258: a.erase(q1, q2) unable to directly return q2\n  2263: Comparing iterators and allocator pointers with different\n\tconst-character\n  2268: Setting a default argument in the declaration of a member\n\tfunction assign of std::basic_string\n  2271: regex_traits::lookup_classname specification unclear\n  2272: quoted should use char_traits::eq for character comparison\n  2278: User-defined literals for Standard Library types\n  2280: begin / end for arrays should be constexpr and noexcept\n  2285: make_reverse_iterator\n  2288: Inconsistent requirements for shared mutexes\n  2291: std::hash is vulnerable to collision DoS attack\n  2293: Wrong facet used by num_put::do_put\n  2299: Effects of inaccessible key_compare::is_transparent type are not\n\tclear\n  2301: Why is std::tie not constexpr?\n  2304: Complexity of count in unordered associative containers\n  2306: match_results::reference should be value_type&, not const\n\tvalue_type&\n  2308: Clarify container destructor requirements w.r.t. std::array\n  2313: tuple_size should always derive from integral_constant<size_t, N>\n  2314: apply() should return decltype(auto) and use decay_t before\n\ttuple_size\n  2315: weak_ptr should be movable\n  2316: weak_ptr::lock() should be atomic\n  2317: The type property queries should be UnaryTypeTraits returning\n\tsize_t\n  2320: select_on_container_copy_construction() takes allocators, not\n\tcontainers\n  2322: Associative(initializer_list, stuff) constructors are\n\tunderspecified\n  2323: vector::resize(n, t)'s specification should be simplified\n  2324: Insert iterator constructors should use addressof()\n  2329: regex_match()/regex_search() with match_results should forbid\n\ttemporary strings\n  2330: regex(\"meow\", regex::icase) is technically forbidden but should\n\tbe permitted\n  2332: regex_iterator/regex_token_iterator should forbid temporary\n\tregexes\n  2339: Wording issue in nth_element\n  2341: Inconsistency between basic_ostream::seekp(pos) and\n\tbasic_ostream::seekp(off, dir)\n  2344: quoted()'s interaction with padding is unclear\n  2346: integral_constant's member functions should be marked noexcept\n  2350: min, max, and minmax should be constexpr\n  2356: Stability of erasure in unordered associative containers\n  2357: Remaining \"Assignable\" requirement\n  2359: How does regex_constants::nosubs affect basic_regex::mark_count()?\n  2360: reverse_iterator::operator*() is unimplementable\n\n  [1] http://libcxx.llvm.org/cxx1y_status.html\n  [2] http://libcxx.llvm.org/cxx1z_status.html\n  [3] http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html\n\n  Exp-run:\tantoine\n\nMFC r277944:\n  Partially revert r273382, to reduce diffs against upstream.  This was a\n  temporary fix to solve a conflict with an older version of libc++, and\n  it is no longer relevant.\n\nMFC r278010:\n  Revert r256642, not only to reduce diffs against upstream libcxxrt, but\n  also because it is the wrong approach: comparing typeinfo names deeply\n  causes trouble if two loaded DSOs use independent types of the same\n  name.\n\n  In addition, this particular change was never merged to FreeBSD 10.x and\n  9.x, so let's get rid of it before it ends up in an 11.x release.\n\n  Discussed with:\ttheraven, joerg@netbsd\n\nMFC r278016:\n  Import libcxxrt master 1cb607e89f6135bbc10f3d3b6fba1f983e258dcc.\n\n  Interesting fixes:\n  1cb607e Correct gcc version check for __cxa_begin_catch() declaration\n          with or without throw()","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/3678f64ad386927abc67f2fa9c29e9d841865db8"},{"sha":"b137f825dc5437b86b9badcabaf55639bb4d862b","author":{"email":"57a33a5496950fec8433e4dd83347673459dcdfc@FreeBSD.org","name":"ian"},"message":"MFC r272103:  Move s3c2xx0 into the samsung directory.","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/b137f825dc5437b86b9badcabaf55639bb4d862b"}]}