Remove FOLLY_SKIP_LIBCPP_4000_THROW_BACKPORTS
[folly.git] / folly / portability / BitsFunctexcept.h
index 098d1e7bf4cfdfd823b3ccf1297fa73160998aed..72deb3e85852f14b7caec210bdcf212690b0664b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2016 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 #pragma once
 
+#include <new>
+
+#include <folly/Portability.h>
 #include <folly/portability/Config.h>
 
 #if FOLLY_HAVE_BITS_FUNCTEXCEPT_H
+
 #include <bits/functexcept.h>
+
 #else
-#include <new> // Some platforms define __throw_bad_alloc() here.
-#include <folly/Portability.h>
+
 FOLLY_NAMESPACE_STD_BEGIN
 
-[[noreturn]] void __throw_length_error(const char* msg);
-[[noreturn]] void __throw_logic_error(const char* msg);
-[[noreturn]] void __throw_out_of_range(const char* msg);
+#if _LIBCPP_VERSION < 4000
+[[noreturn]] void __throw_length_error(char const* msg); // @nolint
+[[noreturn]] void __throw_logic_error(char const* msg);
+[[noreturn]] void __throw_out_of_range(char const* msg);
+#endif
 
-#ifdef _MSC_VER
+#if _CPPLIB_VER // msvc c++ std lib
 [[noreturn]] void __throw_bad_alloc();
 #endif
 
 FOLLY_NAMESPACE_STD_END
+
 #endif