diff options
Diffstat (limited to 'cpp/test/IceUtil/stacktrace/Client.cpp')
-rw-r--r-- | cpp/test/IceUtil/stacktrace/Client.cpp | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/cpp/test/IceUtil/stacktrace/Client.cpp b/cpp/test/IceUtil/stacktrace/Client.cpp index 8862596d024..d9d653b6cec 100644 --- a/cpp/test/IceUtil/stacktrace/Client.cpp +++ b/cpp/test/IceUtil/stacktrace/Client.cpp @@ -136,17 +136,16 @@ splitLines(const string& str) int main(int argc, char* argv[]) { - bool optimized = false; -#ifdef NDEBUG - optimized = true; -#endif - - if(!IceUtilInternal::canCaptureStackTrace()) + if(IceUtilInternal::stackTraceImpl() == IceUtilInternal::STNone) { cout << "This IceUtil build cannot capture stack traces" << endl; - return EXIT_SUCCESS; + return EXIT_SUCCESS; } + bool optimized = false; +#ifdef NDEBUG + optimized = true; +#endif #if defined(_WIN32) bool binDist = false; @@ -219,6 +218,12 @@ int main(int argc, char* argv[]) filename += ".OSX"; #else filename += ".Linux"; + + if(!optimized && IceUtilInternal::stackTraceImpl() == IceUtilInternal::STLibbacktracePlus) + { + filename += ".libbacktrace+"; + } + #endif while(true) @@ -253,15 +258,6 @@ int main(int argc, char* argv[]) string stack = ex.ice_stackTrace(); // cerr << "\n full stack trace is \n" << stack << endl; -#ifdef __linux - if(optimized && stack.empty()) - { - // Expected for optimized static builds with GCC 5.3+ - cout << "empty... "; - break; - } -#endif - #ifdef __APPLE__ standardizeVersion(stack); if(expected.size() < stack.size()) |