/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <string>
#include <cstdio>
+#if defined(BACKTRACE_ENABLED)
+#if defined(__GLIBC__)
#include <execinfo.h>
+#endif
#include <cxxabi.h>
-
+#endif
#include <cstring>
// INTERNAL INCLUDES
namespace
{
-const int MAX_NUM_STACK_FRAMES = 25;
+const int32_t MAX_NUM_STACK_FRAMES = 25;
}
std::string Demangle(const char* symbol)
mangledSymbol[tokenLength] = '\0';
size_t size;
- int status;
+ int32_t status;
char* demangled=NULL;
demangled = abi::__cxa_demangle( mangledSymbol, NULL, &size, &status );
if( demangled != NULL )
return result;
}
-DALI_EXPORT_API DaliException::DaliException( const char* location, const char* condition )
+DALI_CORE_API DaliException::DaliException( const char* location, const char* condition )
: location( location ), condition( condition )
{
// Note, if a memory error has occured, then the backtrace won't work - backtrace_symbols relies on
DALI_LOG_ERROR_NOFN("Backtrace:\n");
void* frameArray[MAX_NUM_STACK_FRAMES];
- int nSize = backtrace(frameArray, MAX_NUM_STACK_FRAMES);
+ int32_t nSize = backtrace(frameArray, MAX_NUM_STACK_FRAMES);
char** symbols = backtrace_symbols(frameArray, nSize);
- for(int i=1; i< nSize; i++)
+ for(int32_t i=1; i< nSize; i++)
{
std::string demangled_symbol = Demangle(symbols[i]);
DALI_LOG_ERROR_NOFN("[%02d] %s\n", i, demangled_symbol.c_str() );
#else // BACKTRACE_ENABLED
-DALI_EXPORT_API DaliException::DaliException( const char* location, const char* condition )
+DALI_CORE_API DaliException::DaliException( const char* location, const char* condition )
: location( location ), condition( condition )
{
#if defined(DEBUG_ENABLED)
#endif // BACKTRACE_ENABLED
-DALI_EXPORT_API void DaliAssertMessage( const char* location, const char* condition )
+DALI_CORE_API void DaliAssertMessage( const char* location, const char* condition )
{
#if defined(DEBUG_ENABLED)
DALI_LOG_ERROR_NOFN( "Assert (%s) failed in: %s\n", condition, location );