History log of /llvm-project/libcxx/src/system_error.cpp (Results 26 – 50 of 54)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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


123