FYI: Passes "make check-cxxabi" for LLVM in trunk on my machine (x86-64, Ubuntu 16.04) with following standard configuration:
lit.py: /src/try/llvm/projects/libcxx/utils/libcxx/test/config.py:150: note: Using compiler: /usr/local/bin/clang++ lit.py: /src/try/llvm/projects/libcxx/utils/libcxx/test/config.py:151: note: Using flags: ['-v', '-D_LIBCPP_DISABLE_AVAILABILITY'] lit.py: /src/try/llvm/projects/libcxx/utils/libcxx/test/config.py:156: note: Using compile flags: ['-Werror=thread-safety', '-DLIBCXXABI_NO_TIMER', '-funwind-tables', '-std=c++1z', '-nostdinc++', '-I/src/try/llvm/projects/libcxx/include', '-I/src/try/llvm/projects/libcxxabi/include', '-D__STDC_FORMAT_MACROS', '-D__STDC_LIMIT_MACROS', '-D__STDC_CONSTANT_MACROS', '-I/src/try/llvm/projects/libcxx/test/support'] lit.py: /src/try/llvm/projects/libcxx/utils/libcxx/test/config.py:158: note: Using warnings: ['-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER', '-Wall', '-Wextra', '-Werror', '-Wuser-defined-warnings', '-Wshadow', '-Wno-unused-command-line-argument', '-Wno-attributes', '-Wno-pessimizing-move', '-Wno-c++11-extensions', '-Wno-user-defined-literals', '-Wsign-compare', '-Wunused-variable', '-Wunused-parameter', '-Wunreachable-code', '-Wno-conversion', '-Wno-unused-local-typedef', '-Wno-#warnings'] lit.py: /src/try/llvm/projects/libcxx/utils/libcxx/test/config.py:159: note: Using link flags: ['-L/src/try/build/./lib', '-Wl,-rpath,/src/try/build/./lib', '-nodefaultlibs', '-lc++', '-lc++abi', '-lm', '-lgcc_s', '-lgcc', '-lpthread', '-lc', '-lgcc_s', '-lgcc'] lit.py: /src/try/llvm/projects/libcxx/utils/libcxx/test/config.py:162: note: Using available_features: ['thread-safety', 'glibc', 'diagnose-if-support', 'glibc-2.23', 'glibc-2', 'clang', 'ubuntu', 'linux', 'modules-support', 'clang-5', 'clang-5.0', 'ubuntu-16.04', 'verify-support', 'libcxxabi-has-system-unwinder', '-faligned-allocation', 'libc++', 'fsized-deallocation', 'long_tests', 'c++1z'] > On 22 May 2017, at 4:02 PM, Marcel Boehme via Phabricator > <revi...@reviews.llvm.org> wrote: > > marcel created this revision. > > Check whether the string (db.names.back().first) is longer than 7 characters > before inserting another string at index 8. > > > https://reviews.llvm.org/D33393 > > Files: > CREDITS.TXT > src/cxa_demangle.cpp > test/test_demangle.pass.cpp > > > Index: test/test_demangle.pass.cpp > =================================================================== > --- test/test_demangle.pass.cpp > +++ test/test_demangle.pass.cpp > @@ -29665,6 +29665,7 @@ > > "\x44\x74\x70\x74\x71\x75\x32\x43\x41\x38\x65\x6E\x9B\x72\x4D\xC1\x43\x41\x72\x4D\x6E\x77\x38\x9A\x8E\x44\x6F\x64\x6C\x53\xF9\x5F\x70\x74\x70\x69\x45\x38\xD3\x73\x9E\x2A\x37", > > "\x46\x44\x74\x70\x74\x71\x75\x32\x43\x41\x72\x4D\x6E\x65\x34\x9F\xC1\x43\x41\x72\x4D\x6E\x77\x38\x9A\x8E\x44\x6F\x64\x6C\x53\xF9\x5F\x70\x74\x70\x69\x45\x34\xD3\x73\x9E\x2A\x37\x72\x33\x8E\x3A\x29\x8E\x44\x35", > "_ZcvCiIJEEDvT__FFFFT_vT_v", > + "Z1JIJ1_T_EE3o00EUlT_E0", > }; > > const unsigned NI = sizeof(invalid_cases) / sizeof(invalid_cases[0]); > Index: src/cxa_demangle.cpp > =================================================================== > --- src/cxa_demangle.cpp > +++ src/cxa_demangle.cpp > @@ -3075,7 +3075,8 @@ > const char* t1 = t0 + 1; > while (t1 != last && std::isdigit(*t1)) > ++t1; > - > db.names.back().first.insert(db.names.back().first.begin()+7, t0, t1); > + if (db.names.back().first.length() > 7) > + db.names.back().first.insert(db.names.back().first.begin() > + 7, t0, t1); > t0 = t1; > } > if (t0 == last || *t0 != '_') > Index: CREDITS.TXT > =================================================================== > --- CREDITS.TXT > +++ CREDITS.TXT > @@ -12,6 +12,10 @@ > E: aa...@aaronballman.com > D: Minor patches > > +N: Marcel Boehme > +E: marcel.boe...@acm.org > +D: Minor patches > + > N: Logan Chien > E: logan.ch...@mediatek.com > D: ARM EHABI Unwind & Exception Handling > > > <D33393.99719.patch> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits