| // RUN: %clangxx_msan -O0 %s -o %t && %run %t | |
| #include <assert.h> | |
| #include <execinfo.h> | |
| #include <stdio.h> | |
| #include <string.h> | |
| #include <stdlib.h> | |
| __attribute__((noinline)) | |
| void f() { | |
| void *buf[10]; | |
| int sz = backtrace(buf, sizeof(buf) / sizeof(*buf)); | |
| assert(sz > 0); | |
| for (int i = 0; i < sz; ++i) | |
| if (!buf[i]) | |
| exit(1); | |
| char **s = backtrace_symbols(buf, sz); | |
| assert(s != 0); | |
| for (int i = 0; i < sz; ++i) | |
| printf("%d\n", (int)strlen(s[i])); | |
| } | |
| int main(void) { | |
| f(); | |
| return 0; | |
| } |