Project import generated by Copybara.
GitOrigin-RevId: b137378673f7d66d41bcd46e4fc3a0d9ef254894
This commit is contained in:
@@ -15,23 +15,25 @@
|
||||
#ifndef MEDIAPIPE_FRAMEWORK_DEMANGLE_H_
|
||||
#define MEDIAPIPE_FRAMEWORK_DEMANGLE_H_
|
||||
|
||||
#ifndef MEDIAPIPE_HAS_CXA_DEMANGLE
|
||||
// We only support some compilers that support __cxa_demangle.
|
||||
// TODO: Checks if Android NDK has fixed this issue or not.
|
||||
#if defined(__ANDROID__) && (defined(__i386__) || defined(__x86_64__))
|
||||
#define HAS_CXA_DEMANGLE 0
|
||||
#define MEDIAPIPE_HAS_CXA_DEMANGLE 0
|
||||
#elif (__GNUC__ >= 4 || (__GNUC__ >= 3 && __GNUC_MINOR__ >= 4)) && \
|
||||
!defined(__mips__)
|
||||
#define HAS_CXA_DEMANGLE 1
|
||||
#define MEDIAPIPE_HAS_CXA_DEMANGLE 1
|
||||
#elif defined(__clang__) && !defined(_MSC_VER)
|
||||
#define HAS_CXA_DEMANGLE 1
|
||||
#define MEDIAPIPE_HAS_CXA_DEMANGLE 1
|
||||
#else
|
||||
#define HAS_CXA_DEMANGLE 0
|
||||
#define MEDIAPIPE_HAS_CXA_DEMANGLE 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <string>
|
||||
#if HAS_CXA_DEMANGLE
|
||||
#if MEDIAPIPE_HAS_CXA_DEMANGLE
|
||||
#include <cxxabi.h>
|
||||
#endif
|
||||
|
||||
@@ -65,7 +67,7 @@ namespace mediapipe {
|
||||
inline std::string Demangle(const char* mangled) {
|
||||
int status = 0;
|
||||
char* demangled = nullptr;
|
||||
#if HAS_CXA_DEMANGLE
|
||||
#if MEDIAPIPE_HAS_CXA_DEMANGLE
|
||||
demangled = abi::__cxa_demangle(mangled, nullptr, nullptr, &status);
|
||||
#endif
|
||||
std::string out;
|
||||
|
||||
Reference in New Issue
Block a user