Revision tags: llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2 |
|
#
e49cdfbe |
| 04-Feb-2017 |
Eric Fiselier <eric@efcs.ca> |
Recommit [libcxx] Never use <cassert> within libc++
It is my opinion that libc++ should never use `<cassert>`, including in the `dylib`. This patch remove all uses of `assert` from within libc++ and
Recommit [libcxx] Never use <cassert> within libc++
It is my opinion that libc++ should never use `<cassert>`, including in the `dylib`. This patch remove all uses of `assert` from within libc++ and replaces most of them with `_LIBCPP_ASSERT` instead.
Additionally this patch turn `LIBCXX_ENABLE_ASSERTIONS` off by default, because the standard library should not be aborting user programs unless explicitly asked to.
llvm-svn: 294107
show more ...
|
#
f9e7bf3a |
| 24-Jan-2017 |
Eric Fiselier <eric@efcs.ca> |
Revert "[libcxx] Never use <cassert> within libc++"
This reverts commit r292883. Unfortunately <string_view> uses _LIBCPP_ASSERT in a way which is not compatible with the C++11 dylib build. I'll inv
Revert "[libcxx] Never use <cassert> within libc++"
This reverts commit r292883. Unfortunately <string_view> uses _LIBCPP_ASSERT in a way which is not compatible with the C++11 dylib build. I'll investigate more tomorrow.
llvm-svn: 292923
show more ...
|
#
d5fd7d7e |
| 24-Jan-2017 |
Eric Fiselier <eric@efcs.ca> |
[libcxx] Never use <cassert> within libc++
Summary: It is my opinion that libc++ should never use `<cassert>`, including in the `dylib`. This patch remove all uses of `assert` from within libc++ and
[libcxx] Never use <cassert> within libc++
Summary: It is my opinion that libc++ should never use `<cassert>`, including in the `dylib`. This patch remove all uses of `assert` from within libc++ and replaces most of them with `_LIBCPP_ASSERT` instead.
Additionally this patch turn `LIBCXX_ENABLE_ASSERTIONS` off by default, because the standard library should not be aborting user programs unless explicitly asked to.
Reviewers: mclow.lists, compnerd, smeenai
Reviewed By: mclow.lists
Subscribers: mgorny, cfe-commits
Differential Revision: https://reviews.llvm.org/D29063
llvm-svn: 292883
show more ...
|
Revision tags: llvmorg-4.0.0-rc1 |
|
#
11f60453 |
| 17-Jan-2017 |
Eric Fiselier <eric@efcs.ca> |
Add ABI option to remove recently inlined __shared_count functions from the library.
In order to allow inlining of previously out-of-line functions without an ABI break libc++ provides legacy defini
Add ABI option to remove recently inlined __shared_count functions from the library.
In order to allow inlining of previously out-of-line functions without an ABI break libc++ provides legacy definitions in the dylib that old programs can continue to use. Unfortunatly Windows link.exe detects this hack and diagnoses the duplicate definitions.
This patch disable the duplicate definitions on Windows by adding an ABI option which disables all "legacy out-of-line symbols"
llvm-svn: 292190
show more ...
|
#
b2826a1d |
| 03-Jan-2017 |
Saleem Abdulrasool <compnerd@compnerd.org> |
clean up use of _WIN32
Replace the use of _WIN32 in libc++. Replace most use with a C runtime check _LIBCPP_MSVCRT or the new _LIBCPP_WIN32 to indicate that we are using the Win32 API. Use a new _LI
clean up use of _WIN32
Replace the use of _WIN32 in libc++. Replace most use with a C runtime check _LIBCPP_MSVCRT or the new _LIBCPP_WIN32 to indicate that we are using the Win32 API. Use a new _LIBCPP_WCHAR_IS_UCS2 to indicate that we are on an environment that has a short wchar_t.
llvm-svn: 290910
show more ...
|
#
edd09b3d |
| 03-Jan-2017 |
Saleem Abdulrasool <compnerd@compnerd.org> |
system_error: provide a thread safe stringification for Windows
Provide a strerror_r replacement for Windows. This is needed to build libc++ for Windows with threading.
llvm-svn: 290851
|
#
9aca97d6 |
| 02-Jan-2017 |
Eric Fiselier <eric@efcs.ca> |
Introduce _LIBCPP_DEPRECATED_ABI_EXTERNAL_ERROR_CATEGORY_CONSTRUCTOR ABI option.
Currently libc++ compiles a special version of error_category() into the dylib. This definition is no longer needed,
Introduce _LIBCPP_DEPRECATED_ABI_EXTERNAL_ERROR_CATEGORY_CONSTRUCTOR ABI option.
Currently libc++ compiles a special version of error_category() into the dylib. This definition is no longer needed, and doesn't work on Windows due to dllimport/dllexport semantics.
For those reasons this patch introduces an option to disable/enable this definition. By default the definition is provided in ABI v1 except on windows. This patch also addresses D28210.
llvm-svn: 290840
show more ...
|
#
c8bf9618 |
| 31-Dec-2016 |
Saleem Abdulrasool <compnerd@compnerd.org> |
system_error: use strerror_r only for threaded code
When building libc++ without threading, strerror_r is not used. Define the code only when threading is enabled. This allows us to build system_e
system_error: use strerror_r only for threaded code
When building libc++ without threading, strerror_r is not used. Define the code only when threading is enabled. This allows us to build system_error for Windows, which ATM doesn't build with threading.
llvm-svn: 290791
show more ...
|
Revision tags: llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
#
d437fa5c |
| 25-Aug-2016 |
Marshall Clow <mclow.lists@gmail.com> |
Add an _LIBCPP_NORETURN inline function named __throw_XXX for each exception type we define. They either construct and throw the exception, or abort() (if exceptions are disabled). Use these function
Add an _LIBCPP_NORETURN inline function named __throw_XXX for each exception type we define. They either construct and throw the exception, or abort() (if exceptions are disabled). Use these functions everywhere instead of assert()ing when exceptions are disabled. WARNING: This is a behavior change - but only with exceptions disabled. Reviewed as: https://reviews.llvm.org/D23855.
llvm-svn: 279744
show more ...
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1 |
|
#
953d7d44 |
| 15-Jun-2016 |
Dan Albert <danalbert@google.com> |
Add an Android version check for GNU strerror_r.
Summary: Android didn't gain GNU's strerror_r until Marshmallow. If we're building libc++ against something older (we build the NDK library against t
Add an Android version check for GNU strerror_r.
Summary: Android didn't gain GNU's strerror_r until Marshmallow. If we're building libc++ against something older (we build the NDK library against the oldest release we support, currently Gingerbread), fall back to the POSIX version.
Reviewers: mclow.lists, EricWF
Subscribers: tberghammer, danalbert, srhines, cfe-commits
Differential Revision: http://reviews.llvm.org/D21402
llvm-svn: 272827
show more ...
|
#
61df7909 |
| 14-Jun-2016 |
Eric Fiselier <eric@efcs.ca> |
Fix syntax error in r272640.
llvm-svn: 272641
|
#
79e0574d |
| 14-Jun-2016 |
Eric Fiselier <eric@efcs.ca> |
Fix error checking for strerror_r implementations that return the error code.
llvm-svn: 272640
|
#
9778a6d8 |
| 14-Jun-2016 |
Eric Fiselier <eric@efcs.ca> |
Make system_error::message() thread safe. Fixes PR25598.
Summary: system_error::message() uses `strerror` for the generic and system categories. This function is not thread safe.
The fix is to use
Make system_error::message() thread safe. Fixes PR25598.
Summary: system_error::message() uses `strerror` for the generic and system categories. This function is not thread safe.
The fix is to use `strerror_r`. It has been available since 2001 for GNU libc and since BSD 4.4 on FreeBSD/OS X. On platforms with GNU libc the extended version is used which always returns a valid string, even if an error occurs.
In single-threaded builds `strerror` is still used.
See https://llvm.org/bugs/show_bug.cgi?id=25598
Reviewers: majnemer, mclow.lists
Subscribers: erik65536, cfe-commits, emaste
Differential Revision: http://reviews.llvm.org/D20903
llvm-svn: 272633
show more ...
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1, llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1, llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3 |
|
#
e8fd1645 |
| 18-Aug-2015 |
Eric Fiselier <eric@efcs.ca> |
Move atomic_support.h and config_elast.h into src/include
llvm-svn: 245354
|
Revision tags: studio-1.4, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1, llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
#
1c545baf |
| 30-Apr-2015 |
Richard Trieu <rtrieu@google.com> |
Fix -Wpessimizing-move warning by remove the call to std::move.
llvm-svn: 236265
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1 |
|
#
a76dfbd4 |
| 06-Jan-2015 |
Dan Albert <danalbert@google.com> |
[libcxx] Set _LIBCPP_ELAST for mingw.
Reviewers: K-ballo, mclow.lists, EricWF
Reviewed By: EricWF
Subscribers: jfb, jroelofs, majnemer, cfe-commits
Differential Revision: http://reviews.llvm.org/
[libcxx] Set _LIBCPP_ELAST for mingw.
Reviewers: K-ballo, mclow.lists, EricWF
Reviewed By: EricWF
Subscribers: jfb, jroelofs, majnemer, cfe-commits
Differential Revision: http://reviews.llvm.org/D6558
llvm-svn: 225273
show more ...
|
Revision tags: llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1, llvmorg-3.5.0 |
|
#
a409d59c |
| 02-Sep-2014 |
Jonathan Roelofs <jonathan@codesourcery.com> |
Newlib names ELAST differently than linux
llvm-svn: 216943
|
Revision tags: llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1 |
|
#
31234844 |
| 29-May-2014 |
David Majnemer <david.majnemer@gmail.com> |
Linux: Correctly identify valid error codes
[syserr.errcat.objects]p4 specifies that system_category().default_error_condition(ev) map to error_condition(posv, generic_category()) if ev could map to
Linux: Correctly identify valid error codes
[syserr.errcat.objects]p4 specifies that system_category().default_error_condition(ev) map to error_condition(posv, generic_category()) if ev could map to a POSIX errno.
Linux reserves up to and including 4095 for errno values, use this as a bound.
This fixes syserr.errcat.objects/system_category.pass.cpp on Linux.
llvm-svn: 209795
show more ...
|
Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2, llvmorg-3.4.1-rc1 |
|
#
2fd6f512 |
| 17-Mar-2014 |
David Majnemer <david.majnemer@gmail.com> |
Replace a tab with a space
llvm-svn: 204077
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1 |
|
#
a86d5162 |
| 21-Aug-2013 |
Marshall Clow <mclow.lists@gmail.com> |
LWG 2145 - mark constructor for std::error_category as inline and constexpr. Leave the (existing, out-of-line, non-constexpr) in the dylib for compatibility with existing programs)
llvm-svn: 188858
|
Revision tags: llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1 |
|
#
e00e6f23 |
| 28-Mar-2013 |
Howard Hinnant <hhinnant@apple.com> |
Fix a few warnings/errors for compiling with -fno-exceptions.
llvm-svn: 178267
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3, llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1, llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1, llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1 |
|
#
ce48a113 |
| 30-Jun-2011 |
Howard Hinnant <hhinnant@apple.com> |
_STD -> _VSTD to avoid macro clash on windows
llvm-svn: 134190
|
#
a62f2899 |
| 26-May-2011 |
Howard Hinnant <hhinnant@apple.com> |
Applied noexcept to everything in [diagnostics] (Chapter 19)
llvm-svn: 132137
|
Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1 |
|
#
412dbebe |
| 16-Nov-2010 |
Howard Hinnant <hhinnant@apple.com> |
license change
llvm-svn: 119395
|
Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0 |
|
#
940e211c |
| 22-Aug-2010 |
Howard Hinnant <hhinnant@apple.com> |
Fixing whitespace problems
llvm-svn: 111751
|