diff options
Diffstat (limited to 'src/core/basetypes/MCObject.cc')
-rw-r--r-- | src/core/basetypes/MCObject.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/basetypes/MCObject.cc b/src/core/basetypes/MCObject.cc index 1d8f0c27..7c1d83bb 100644 --- a/src/core/basetypes/MCObject.cc +++ b/src/core/basetypes/MCObject.cc @@ -2,7 +2,9 @@ #include <stdlib.h> #include <typeinfo> +#ifndef _MSC_VER #include <cxxabi.h> +#endif #include <libetpan/libetpan.h> #include <string.h> #if __APPLE__ @@ -89,9 +91,13 @@ Object * Object::autorelease() String * Object::className() { int status; +#ifdef _MSC_VER + String * result = String::uniquedStringWithUTF8Characters(typeid(*this).name()); +#else char * unmangled = abi::__cxa_demangle(typeid(* this).name(), NULL, NULL, &status); String * result = String::uniquedStringWithUTF8Characters(unmangled); free(unmangled); +#endif return result; } |