Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-09-17G M: Restore the ability for libcxx to compile again on mingw 64.Howard Hinnant
llvm-svn: 190837
2013-08-24Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG.Howard Hinnant
llvm-svn: 189140
2013-08-23Debug mode for string. This commit also marks the first time libc++ ↵Howard Hinnant
debug-mode has found a bug (found one in regex). Had to play with extern templates a bit to get this to work since string is heavily used within libc++.dylib. llvm-svn: 189114
2013-08-22Zhihao Yuan noted that there were a few unneeded statements. Eliminated ↵Howard Hinnant
the unnecessary ones, and commented the ones that are there for non-obvious reasons such as to help things limp along in C++03 language mode. llvm-svn: 189039
2013-08-14Xing Xue: port to IBM XLC++/AIX.Howard Hinnant
llvm-svn: 188396
2013-08-12Nico Rieck: this patch series fixes visibility issues on Windows as ↵Howard Hinnant
explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. llvm-svn: 188192
2013-08-01Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which isHoward Hinnant
MSVC-specific, MSVCRT-specific, or Windows-specific. Because Clang can also define _MSC_VER, and MSVCRT is not necessarily the only C runtime, these macros should not be used interchangeably. This patch divides all Windows-related bits into the aforementioned categories. Two new macros are introduced: - _LIBCPP_MSVC: Defined when compiling with MSVC. Detected using _MSC_VER, excluding Clang. - _LIBCPP_MSVCRT: Defined when using the Microsoft CRT. This is the default when _WIN32 is defined. This leaves _WIN32 for code using the Windows API. This also corrects the spelling of _LIBCP_HAS_IS_BASE_OF to _LIBCPP_HAS_IS_BASE_OF. Nico, please prepare a patch for CREDITS.TXT, thanks. llvm-svn: 187593
2013-08-01Taking another swing at correctly optimizing fill_n.Howard Hinnant
llvm-svn: 187587
2013-08-01Constrain fill_n -> memset operations to include implicit convertibility to ↵Howard Hinnant
unsigned char. This fixes http://llvm.org/bugs/show_bug.cgi?id=16764. Also a drive-by fix on a chrono test suite bug. llvm-svn: 187552
2013-07-23Fix a bug in std::fill_n where memset would end up being called in cases ↵Anders Carlsson
when it shouldn’t. Reviewed by Howard. llvm-svn: 186875
2013-05-10Fix incorrect type usage; nice catch by SebastianMarshall Clow
llvm-svn: 181569
2013-05-10Implement n3607: 'equal', 'mismatch', and 'is_permutation'Marshall Clow
llvm-svn: 181548
2013-04-04Somehow search_n never got tested, so of course it had a bug in it. This ↵Howard Hinnant
fixes http://llvm.org/bugs/show_bug.cgi?id=15667. llvm-svn: 178764
2013-02-08Change the 'result_type' from unsigned to 'uint_fast32_t'. This eliminates ↵Marshall Clow
truncation warnings on Linux llvm-svn: 174669
2013-02-07Marcin Zalewski: Change the name of a template parameter in __copy_backward ↵Howard Hinnant
from _InputIterator to _BidirectionalIterator to better document the intent of the algorithm. llvm-svn: 174544
2012-11-07Provide a way to disable use of extern templates in libc++. This is ↵Howard Hinnant
intended for the clients of libc++, not the libc++ build. The dylib should always contain the extern templates. To disable the client needs to put -D'_LIBCPP_EXTERN_TEMPLATE(...)=' on the command line. llvm-svn: 167486
2012-08-03Performance tweaking rotate.Howard Hinnant
rotate is a critical algorithm because it is often used by other algorithms, both std and non-std. The main thrust of this optimization is a specialized algorithm when the 'distance' to be shifted is 1 (either left or right). To my surprise, this 'optimization' was not effective for types like std::string. std::string favors rotate algorithms which only use swap. But for types like scalars, and especially when the sequence is random access, these new specializations are a big win. If it is a vector<size_t> for example, the rotate is done via a memmove and can be several times faster than the gcd algorithm. I'm using is_trivially_move_assignable to distinguish between types like int and types like string. This is obviously an ad-hoc approximation, but I haven't found a case where it doesn't give good results. I've used a 'static if' (with is_trivially_move_assignable) in three places. Testing with both -Os and -O3 showed that clang eliminated all code not be executed by the 'static if' (including the 'static if' itself). llvm-svn: 161247
2012-07-26<algorithm> no longer needs to include <cstdlib>, but can get away with just ↵Howard Hinnant
<cstddef>. This was brought to my attention by Salvatore Benedetto in his port to a bare-metal coretex-m3. This exposed two test bugs where an explicit #include <cstdlib> was needed. llvm-svn: 160786
2012-04-03Update <random> with constexpr support. Patch contributed by Jonathan Sauer.Howard Hinnant
llvm-svn: 153896
2012-04-02This is an initial commit of constexpr support as proposed by Richard Smith. ↵Howard Hinnant
This by no means completes constexpr support. Indeed, it hardly scratches the surface. All it does is lay the foundation in <__config> and changes those few places in the library that are already using that foundation. llvm-svn: 153856
2011-12-29The exception recovery mechanism for the uninitialized_* algorithms did not ↵Howard Hinnant
work for iterators into discontiguous memory. llvm-svn: 147343
2011-12-02Quash a whole bunch of warningsHoward Hinnant
llvm-svn: 145624
2011-11-29Further macro protection by replacing _[A-Z] with _[A-Z]pHoward Hinnant
llvm-svn: 145410
2011-11-29Add protection from min/max macrosHoward Hinnant
llvm-svn: 145407
2011-11-28Remove redundant iterator assignment detected by Marshall ClowHoward Hinnant
llvm-svn: 145265
2011-10-27Fixed bug in __independent_bits_engine found by Nick (from stackoverflow)Howard Hinnant
llvm-svn: 143104
2011-10-23More windows port work by Ruben Van BoxemHoward Hinnant
llvm-svn: 142732
2011-10-18Windows support by Ruben Van Boxem.Howard Hinnant
llvm-svn: 142235
2011-09-14Initial checkin for debug mode (version 2)Howard Hinnant
llvm-svn: 139711
2011-08-13Fixed PR10574: http://llvm.org/bugs/show_bug.cgi?id=10574Howard Hinnant
llvm-svn: 137522
2011-07-01_STD -> _VSTD to avoid macro clash on windowsHoward Hinnant
llvm-svn: 134190
2011-05-27noexcept for <utility>. This included a little repair on pair, and some ↵Howard Hinnant
noexcept workarounds. llvm-svn: 132186
2011-02-27Fix copy_n to increment only n-1 times for an input iterator. This works ↵Howard Hinnant
much better with std::istream_iterator<int>(std::cin). Credit: Matan Nassau. llvm-svn: 126581
2011-02-14Chris Jefferson noted many places where function calls needed to be ↵Howard Hinnant
qualified (thanks Chris). llvm-svn: 125510
2010-11-20N3142. Many of these traits are just placeholders with medium quality ↵Howard Hinnant
emulation; waiting on compiler intrinsics to do it right. llvm-svn: 119854
2010-11-18LWG 1432Howard Hinnant
llvm-svn: 119611
2010-11-17license changeHoward Hinnant
llvm-svn: 119395
2010-10-22Fixed bug in random_shuffle to avoid swapping with selfHoward Hinnant
llvm-svn: 117098
2010-09-05Changed __config to react to all of clang's currently documented has_feature ↵Howard Hinnant
flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature. llvm-svn: 113086
2010-08-22Fixing whitespace problemsHoward Hinnant
llvm-svn: 111750
2010-08-22US 122, N3106Howard Hinnant
llvm-svn: 111742
2010-05-28weekly test results plus a bug fix clang foundHoward Hinnant
llvm-svn: 104877
2010-05-26Completed [alg.random.shuffle].Howard Hinnant
llvm-svn: 104708
2010-05-24patch by Jeffrey Yasskin for porting to Ubuntu Hardy. Everything was ↵Howard Hinnant
accepted except there were some bug fixes needed in <locale> for the __nolocale_* series. For the apple branch I ended up using templates instead of the var_args solution because it seemed both safer and more efficient. llvm-svn: 104516
2010-05-12Wiped out some non-ascii characters that snuck into the copyright.Howard Hinnant
llvm-svn: 103516
2010-05-11libcxx initial importHoward Hinnant
llvm-svn: 103490