This is an archive of the discontinued LLVM Phabricator instance.

Do not run tests for crash recovery if libstdc++ safe mode is enabled
ClosedPublic

Authored by sepavloff on Mar 19 2017, 6:49 AM.

Details

Summary

If expensive checks are enabled, safe mode of libstdc++ is enabled too.
In this mode the library uses more complex data that allow additional
checks, for instance, a container may keep list of iterators that points
to it. If a code crashes it can leave these complex library objects in
inconsistent state. It occurs in a few tests that check error recovery
if compiler crashes. These test hang in expensive check mode, as the
library tries to synchronize access to the iterators pointing to some
container, but corresponding mutex remains locked after the crash.

This fix marks these tests as unsupported if clang is built with
libstdc++ safe mode enabled.

Event Timeline

sepavloff created this revision.Mar 19 2017, 6:49 AM

Any feedback?

The problem solved by the fix is still actual.

gkistanova accepted this revision.Apr 14 2017, 10:50 AM

LGTM

Thanks

Galina

This revision is now accepted and ready to land.Apr 14 2017, 10:50 AM
This revision was automatically updated to reflect the committed changes.