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

Always define FOLLY_HAS_RTTI

Summary: [Folly] Always define `FOLLY_HAS_RTTI` to either `0` or `1`.

Reviewed By: LeeHowes

Differential Revision: D14018830

fbshipit-source-id: 5212f3f6269067fc6326e293cedb243e650f71db
parent 150a10cf
......@@ -1335,7 +1335,7 @@ convertTo(const Src& value) noexcept {
template <typename Tgt, typename Src>
inline std::string errorValue(const Src& value) {
#ifdef FOLLY_HAS_RTTI
#if FOLLY_HAS_RTTI
return to<std::string>("(", demangle(typeid(Tgt)), ") ", value);
#else
return to<std::string>(value);
......
......@@ -31,7 +31,7 @@ namespace folly {
* defined.
*/
inline fbstring exceptionStr(const std::exception& e) {
#ifdef FOLLY_HAS_RTTI
#if FOLLY_HAS_RTTI
fbstring rv(demangle(typeid(e)));
rv += ": ";
#else
......@@ -65,7 +65,7 @@ inline fbstring exceptionStr(std::exception_ptr ep) {
template <typename E>
auto exceptionStr(const E& e) -> typename std::
enable_if<!std::is_base_of<std::exception, E>::value, fbstring>::type {
#ifdef FOLLY_HAS_RTTI
#if FOLLY_HAS_RTTI
return demangle(typeid(e));
#else
(void)e;
......
......@@ -358,6 +358,8 @@ using namespace FOLLY_GFLAGS_NAMESPACE;
#if defined(__GXX_RTTI) || defined(__cpp_rtti) || \
(defined(_MSC_VER) && defined(_CPPRTTI))
#define FOLLY_HAS_RTTI 1
#else
#define FOLLY_HAS_RTTI 0
#endif
#if defined(__APPLE__) || defined(_MSC_VER)
......
......@@ -44,7 +44,7 @@ auto fallbackFormatOneArg(std::string* str, const Arg* arg, int) -> decltype(
std::declval<void>()) {
str->push_back('(');
try {
#ifdef FOLLY_HAS_RTTI
#if FOLLY_HAS_RTTI
toAppend(folly::demangle(typeid(*arg)), str);
str->append(": ");
#endif
......@@ -58,7 +58,7 @@ auto fallbackFormatOneArg(std::string* str, const Arg* arg, int) -> decltype(
template <typename Arg>
inline void fallbackFormatOneArg(std::string* str, const Arg* arg, long) {
str->push_back('(');
#ifdef FOLLY_HAS_RTTI
#if FOLLY_HAS_RTTI
try {
toAppend(folly::demangle(typeid(*arg)), str);
str->append(": ");
......
......@@ -1032,7 +1032,7 @@ namespace {
template <typename T, typename V>
std::string prefixWithType(V value) {
std::ostringstream oss;
#ifdef FOLLY_HAS_RTTI
#if FOLLY_HAS_RTTI
oss << "(" << demangle(typeid(T)) << ") ";
#endif
oss << to<std::string>(value);
......
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