Commit 55e591f9 authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook Github Bot

Assorted cleanups for folly/portability/BitsFunctexcept.h

Summary: [Folly] Assorted cleanups for `folly/portability/BitsFunctexcept.h`.

Reviewed By: Orvid, smeenai

Differential Revision: D4492264

fbshipit-source-id: 5e85ac2ad96ef84627cc5473ec0b16c4c9b5da26
parent cf24f985
...@@ -16,31 +16,36 @@ ...@@ -16,31 +16,36 @@
#include <folly/portability/BitsFunctexcept.h> #include <folly/portability/BitsFunctexcept.h>
#if !FOLLY_HAVE_BITS_FUNCTEXCEPT_H
#include <stdexcept> #include <stdexcept>
#if FOLLY_HAVE_BITS_FUNCTEXCEPT_H
// for symmetry with the header; this section intentionally left blank
#else
FOLLY_NAMESPACE_STD_BEGIN FOLLY_NAMESPACE_STD_BEGIN
#if (!defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 4000) && \ #if _LIBCPP_VERSION < 4000 && !FOLLY_SKIP_LIBCPP_4000_THROW_BACKPORTS
!defined(FOLLY_SKIP_LIBCPP_4000_THROW_BACKPORTS) void __throw_length_error(char const* msg) {
void __throw_length_error(const char* msg) {
throw std::length_error(msg); throw std::length_error(msg);
} }
void __throw_logic_error(const char* msg) { void __throw_logic_error(char const* msg) {
throw std::logic_error(msg); throw std::logic_error(msg);
} }
void __throw_out_of_range(const char* msg) { void __throw_out_of_range(char const* msg) {
throw std::out_of_range(msg); throw std::out_of_range(msg);
} }
#endif #endif
#ifdef _MSC_VER #if _CPPLIB_VER // msvc c++ std lib
void __throw_bad_alloc() { void __throw_bad_alloc() {
throw std::bad_alloc(); throw std::bad_alloc();
} }
#endif #endif
FOLLY_NAMESPACE_STD_END FOLLY_NAMESPACE_STD_END
#endif #endif
...@@ -16,25 +16,29 @@ ...@@ -16,25 +16,29 @@
#pragma once #pragma once
#include <new>
#include <folly/Portability.h>
#include <folly/portability/Config.h> #include <folly/portability/Config.h>
#if FOLLY_HAVE_BITS_FUNCTEXCEPT_H #if FOLLY_HAVE_BITS_FUNCTEXCEPT_H
#include <bits/functexcept.h> #include <bits/functexcept.h>
#else #else
#include <new> // Some platforms define __throw_bad_alloc() here.
#include <folly/Portability.h>
FOLLY_NAMESPACE_STD_BEGIN FOLLY_NAMESPACE_STD_BEGIN
#if (!defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 4000) && \ #if _LIBCPP_VERSION < 4000 && !FOLLY_SKIP_LIBCPP_4000_THROW_BACKPORTS
!defined(FOLLY_SKIP_LIBCPP_4000_THROW_BACKPORTS) [[noreturn]] void __throw_length_error(char const* msg); // @nolint
[[noreturn]] void __throw_length_error(const char* msg); [[noreturn]] void __throw_logic_error(char const* msg);
[[noreturn]] void __throw_logic_error(const char* msg); [[noreturn]] void __throw_out_of_range(char const* msg);
[[noreturn]] void __throw_out_of_range(const char* msg);
#endif #endif
#ifdef _MSC_VER #if _CPPLIB_VER // msvc c++ std lib
[[noreturn]] void __throw_bad_alloc(); [[noreturn]] void __throw_bad_alloc();
#endif #endif
FOLLY_NAMESPACE_STD_END FOLLY_NAMESPACE_STD_END
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment