MFC r245304 (by theraven):

  Merge new version of libcxxrt.  This brings in three fixes:

  - Don't treat pointers to members as pointers in catch blocks
    (they're usually fat pointers).

  - Correctly catch foreign exceptions in catchalls.

  - Ensure that a happens-before relationship is established when
    setting terminate handlers in one thread and calling them in
    another.

MFC r245327 (by theraven):

  Fix libcxxrt / libc++ build with the clang in head.

  Pointy hat to:	theraven

MFC r245745 (by theraven):

  Import new fix from libcxxrt.  This fixes the case where you attempt
  to rethrow an exception when you haven't caught one.  This is largely
  a cosmetic fix, as (unless you have a very unusual terminate handler
  installed) it will print a nice error and then abort, rather than
  just aborting.

MFC r246462 (by theraven):

  Fix a copy-and-paste error in libcxxrt.

MFC r249993:

  Merge libcxxrt c812a07cd2f95c1403baf0bbe0366e7618d1d6d3:

  * Don't call the _fast version of the TLS accessor in terminate() or
    unexpected().
    1) TLS may not have been set up yet.
    2) When we're in one of these functions, Really Bad Stuff has
       happened and potentially saving a few cycles really isn't
       important.
  * Merge in fixes from FreeBSD trunk to make atomics work with recent
    clang.