diff options
author | Brad King <brad.king@kitware.com> | 2013-08-07 12:18:32 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-08-07 12:18:32 (GMT) |
commit | 09b147b3a7c864c3d9c044d970235a49f3d69b7a (patch) | |
tree | d8381f3dd2fe35ba7622e007ee951062d4bcee32 /Source/kwsys/kwsysPlatformTestsCXX.cxx | |
parent | 726fa61b59c20ea657091fa870bf7eba77dfaa75 (diff) | |
parent | ce6eac8b58b0230cd1d8ee100a27973e5354a5c4 (diff) | |
download | CMake-09b147b3a7c864c3d9c044d970235a49f3d69b7a.zip CMake-09b147b3a7c864c3d9c044d970235a49f3d69b7a.tar.gz CMake-09b147b3a7c864c3d9c044d970235a49f3d69b7a.tar.bz2 |
Merge branch 'upstream-kwsys' into update-kwsys
Diffstat (limited to 'Source/kwsys/kwsysPlatformTestsCXX.cxx')
-rw-r--r-- | Source/kwsys/kwsysPlatformTestsCXX.cxx | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Source/kwsys/kwsysPlatformTestsCXX.cxx b/Source/kwsys/kwsysPlatformTestsCXX.cxx index a7e3b50..be7a09e 100644 --- a/Source/kwsys/kwsysPlatformTestsCXX.cxx +++ b/Source/kwsys/kwsysPlatformTestsCXX.cxx @@ -513,6 +513,54 @@ int main() } #endif +#ifdef TEST_KWSYS_CXX_HAS_BACKTRACE +#if defined(__PATHSCALE__) || defined(__PATHCC__) \ + || (defined(__LSB_VERSION__) && (__LSB_VERSION__ < 41)) +backtrace doesnt work with this compiler or os +#endif +#if (defined(__GNUC__) || defined(__PGI)) && !defined(_GNU_SOURCE) +# define _GNU_SOURCE +#endif +#include <execinfo.h> +int main() +{ + void *stackSymbols[256]; + backtrace(stackSymbols,256); + backtrace_symbols(&stackSymbols[0],1); + return 0; +} +#endif + +#ifdef TEST_KWSYS_CXX_HAS_DLADDR +#if (defined(__GNUC__) || defined(__PGI)) && !defined(_GNU_SOURCE) +# define _GNU_SOURCE +#endif +#include <dlfcn.h> +int main() +{ + Dl_info info; + int ierr=dladdr((void*)main,&info); + return 0; +} +#endif + +#ifdef TEST_KWSYS_CXX_HAS_CXXABI +#if (defined(__GNUC__) || defined(__PGI)) && !defined(_GNU_SOURCE) +# define _GNU_SOURCE +#endif +#include <cxxabi.h> +int main() +{ + int status = 0; + size_t bufferLen = 512; + char buffer[512] = {'\0'}; + const char *function="_ZN5kwsys17SystemInformation15GetProgramStackEii"; + char *demangledFunction = + abi::__cxa_demangle(function, buffer, &bufferLen, &status); + return status; +} +#endif + #ifdef TEST_KWSYS_CXX_TYPE_INFO /* Collect fundamental type information and save it to a CMake script. */ |