Commit Graph

821 Commits

Author SHA1 Message Date
Howard Hinnant 861f006d3f Klaas de Vries: Fix bug in libc++'s std::string::find_first_not_of.
llvm-svn: 171321
2012-12-31 20:09:48 +00:00
Michael J. Spencer bb8cfd0fec [CMake] Fix c++ abi library configuration on Linux.
You can now configure from the command line using:
-DLIBCXX_CXX_ABI=libsupc++
-DLIBCXX_LIBSUPCXX_INCLUDE_PATHS="path;path

Also documents how to build on Linux.

llvm-svn: 171316
2012-12-31 19:34:21 +00:00
Chandler Carruth e70a813b59 Don't mark variadic functions as always inline -- they cannot in fact be
inlined.

Patch by Saleem Abdulrasool, reviewed by Michael Spencer and Richard Smith.

llvm-svn: 171276
2012-12-31 06:09:54 +00:00
Chandler Carruth 3036ab26e3 Add a simple .arcconfig to make using the 'arc' commandline tool and the
phabricator code review site easier with libc++.

llvm-svn: 171275
2012-12-31 05:59:45 +00:00
Howard Hinnant a96d74585f Remove test for eof from istreambuf_iterator constructors. It is no longer necessary and potentially violates the constructor's noexcept spec.
llvm-svn: 171232
2012-12-29 17:45:42 +00:00
Howard Hinnant bd037ab4ba Saleem Abdulrasool: GCC complains about the template functions as potentially not being able to be
inlined.  These do not need to be always-inlined for ABI stability because they are not exported beyond this source due to the unnamed namespace.
Also simplified use of the Wmissing-field-initializers pragma as was done for clang.

llvm-svn: 171202
2012-12-28 18:15:01 +00:00
Howard Hinnant 0933f5d358 Saleem Abdulrasool: Add entry to CREDITS.TXT.
llvm-svn: 171174
2012-12-27 23:26:52 +00:00
Howard Hinnant 6b0101acae Saleem Abdulrasool: cleanup a few more compile warnings emitted by GCC.
llvm-svn: 171173
2012-12-27 23:24:31 +00:00
Howard Hinnant 80a11413bb Saleem Abdulrasool: avoid hardcoding buffer lengths.
llvm-svn: 171169
2012-12-27 21:17:53 +00:00
Howard Hinnant 43d978e5c4 Saleem Abdulrasool: Silence warning and reduce unnecessary code in hash.cpp.
llvm-svn: 171167
2012-12-27 18:59:05 +00:00
Howard Hinnant 267e3e1eb8 Saleem Abdulrasool: This just rounds up a few compile warnings emitted by GCC (4.7.2).
llvm-svn: 171165
2012-12-27 18:46:00 +00:00
Chad Rosier 7f902715e8 Remove redundant inits. Patch by Eitan Adler.
llvm-svn: 170967
2012-12-22 00:12:05 +00:00
Howard Hinnant d15de653f0 Test case for http://llvm.org/bugs/show_bug.cgi?id=14670.
llvm-svn: 170706
2012-12-20 16:50:07 +00:00
Howard Hinnant 3b42bdd58a Hyeon-Bin Jeong: readsome() need to reset gcount to zero. This fixes http://llvm.org/bugs/show_bug.cgi?id=14670.
llvm-svn: 170703
2012-12-20 15:40:28 +00:00
Richard Smith e3fbbccc0f Implement std::is_base_of for the case where we don't have a compiler
intrinsic. This relies upon the fact that overload resolution does not check
access and ambiguity for a derived-to-base conversion. This passes all
is_base_of tests in the test suite.

llvm-svn: 170662
2012-12-20 04:20:28 +00:00
Marshall Clow 36a60721ce Added static_assert to std::get<N>(std::array) calls to catch "out of bounds" calls
llvm-svn: 170435
2012-12-18 16:46:30 +00:00
Howard Hinnant 3cea78ee68 Updated CREDITS.TXT
llvm-svn: 170062
2012-12-13 00:51:59 +00:00
Howard Hinnant 16694b5df5 Zhang Xiongpang: Add definitions for const data members. Fixes http://llvm.org/bugs/show_bug.cgi?id=14585.
llvm-svn: 170026
2012-12-12 21:14:28 +00:00
Howard Hinnant 9f4328b173 Modify testit to use the local headers and lib. Thanks go to Jeffrey Yasskin.
llvm-svn: 169686
2012-12-09 00:12:14 +00:00
Michael J. Spencer 299fc29a59 [CMake] Add support for selecting which c++ abi library to use.
llvm-svn: 169036
2012-11-30 21:02:29 +00:00
Richard Smith e1f363c724 Remove 'noreturn' attribute from friend declaration. This attribute will be
inherited from the previous out-of-class declaration, and attributes on friend
function declarations are ill-formed in C++11.

llvm-svn: 168853
2012-11-29 04:30:50 +00:00
Daniel Dunbar 7c4b853e74 tests/lit: Change test default parameters to assume local build.
- Also, support overriding them with lit parameters.

llvm-svn: 168749
2012-11-27 23:56:28 +00:00
Howard Hinnant 6852b55314 Fix type-o.
llvm-svn: 168715
2012-11-27 18:52:32 +00:00
Howard Hinnant 43a1f7b045 Remove by-chapter breakdown of what is implemented. The chart is now obsolete.
llvm-svn: 168713
2012-11-27 18:35:09 +00:00
Howard Hinnant f8b24cf5f7 Dimitry Andric: When using libc++ headers on FreeBSD, in combination with -std=c++98,
-ansi or -std=c++03, the long long type is not supported.  So in this
case, several functions and types, like lldiv_t, strtoll(), are not
declared.

llvm-svn: 168610
2012-11-26 21:18:17 +00:00
Howard Hinnant dfdf5085df istreambuf_iterator increment should call sbumpc instead of snextc. Patch
by Kimball Thurston.  This fixes http://llvm.org/bugs/show_bug.cgi?id=14358.

llvm-svn: 168209
2012-11-16 22:17:23 +00:00
Howard Hinnant b5c63a2e07 Restrict optimized __pad_and_output implementation detail to desired releases.
llvm-svn: 167980
2012-11-14 21:17:15 +00:00
Marshall Clow 497d9d2671 Change C++0x references to C++11, Fixes bug #12745
llvm-svn: 167930
2012-11-14 16:31:15 +00:00
Howard Hinnant 119703f984 Dimitry Andric: Silence some miscellaneous warnings.
llvm-svn: 167493
2012-11-06 21:55:44 +00:00
Howard Hinnant 3e2740a36c Dimitry Andric: Silence some warnings in <locale>.
llvm-svn: 167492
2012-11-06 21:48:33 +00:00
Howard Hinnant a01739a03a Enable the tuple interface of pair in C++03 mode.
llvm-svn: 167491
2012-11-06 21:42:45 +00:00
Howard Hinnant 1c8358c13c Update instructions for building and using libc++ on Mac OS
llvm-svn: 167490
2012-11-06 21:31:37 +00:00
Howard Hinnant cd47cbc7a4 Provide a way to disable use of extern templates in libc++. This is 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-11-06 21:08:48 +00:00
Howard Hinnant 66e7ed959f peek should set eofbit if sgetc() returns eof.
llvm-svn: 167238
2012-11-01 17:32:07 +00:00
Howard Hinnant b304811686 Richard Smith: This fixes a problem in std::is_constructible for incomplete types, and those types with a user-defined operator,().
llvm-svn: 167233
2012-11-01 16:32:14 +00:00
Howard Hinnant 54d333a601 Rename uses of _ and __ because these are getting stepped on by macros from other system code.
llvm-svn: 167038
2012-10-30 19:06:59 +00:00
Argyrios Kyrtzidis 523623c239 Add an entry in CREDITS.TXT
llvm-svn: 165949
2012-10-15 17:34:53 +00:00
Howard Hinnant 6758190507 Use traits_type::to_int_type in basic_streambuf<_CharT, _Traits>::xsputn when calling overflow to correctly handle negative signed character types. This fixes http://llvm.org/bugs/show_bug.cgi?id=14074.
llvm-svn: 165884
2012-10-13 19:31:51 +00:00
Howard Hinnant 7ba8160360 Dimitry Andric: FreeBSD only: Add the C11 aligned_alloc to <cstdlib> and adjust the inclusion of quick_exit.
llvm-svn: 165882
2012-10-13 18:03:53 +00:00
Argyrios Kyrtzidis 88db3171dd Don't neglect to "return *this".
llvm-svn: 165860
2012-10-13 02:03:45 +00:00
Howard Hinnant f543a75be1 Holger Arnold: Correct the use and testing of __GNUC__ and __GNUC_MINOR__ in <__config>.
llvm-svn: 165151
2012-10-03 20:48:05 +00:00
Howard Hinnant 6e551ae1a3 Make vector::iterator and string::iterator more resilient against overly generic relational operators.
llvm-svn: 165033
2012-10-02 19:45:42 +00:00
Howard Hinnant 59fb5c6559 Due to a mistake on my own part, I need to burn some version numbers. This does not impact any of the implementation of libc++, and does not impact the ABI in any way.
llvm-svn: 164832
2012-09-28 17:42:25 +00:00
Howard Hinnant 324c084654 Bump _LIBCPP_VERSION to 1002
llvm-svn: 164700
2012-09-26 15:38:09 +00:00
Howard Hinnant 8e747d3671 Apply the emulated nullptr_t with constexpr. This is an unusual configuration that would take advantage of this. But it has popped up in the wild and does no harm to support it.
llvm-svn: 164575
2012-09-24 23:36:40 +00:00
Marshall Clow b07ddfcac7 Updating email address
llvm-svn: 164489
2012-09-24 14:27:10 +00:00
Bob Wilson feeec326fe Fix installheaders target to do what it did prior to r161760. rdar://12348765
llvm-svn: 164413
2012-09-21 20:49:54 +00:00
Howard Hinnant c43826f003 Add overflow check to tanh(complex) and reduce to finite answer. Fixes http://llvm.org/bugs/show_bug.cgi?id=13874
llvm-svn: 164266
2012-09-19 23:51:47 +00:00
Howard Hinnant 92b5940fbb Overloaded __pad_and_output on ostreambuf_iterator and in this overload call sputn instead of dereferencing the iterator which calls sputc. This is intended to be purely a performance optimization, especially for clients who may have overloaded the virtual function xsputn.
llvm-svn: 164241
2012-09-19 19:14:15 +00:00
Howard Hinnant a0bc10dca6 Align <atomic> with clang r163964 which disallows const _Atomic types.
llvm-svn: 164004
2012-09-16 20:33:09 +00:00