[libcxx-commits] [PATCH] D92790: [libc++][P0053R7] Add <syncstream> header and implement std::basic_syncbuf

Alex Brachet via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Dec 9 17:21:42 PST 2020

abrachet added a comment.

In D92790#2444240 <https://reviews.llvm.org/D92790#2444240>, @mclow.lists wrote:

> I'm not seeing any coordination between different `syncbuf`s on the same stream here.
> My impression was that implementing this required a global registry of streams that had `syscstreams` associated with them.

`syncbuf` has an internal `__mutex` type which maps `streambuf_type *`'s to `mutex`es

Comment at: libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist:35-43
+{'is_defined': False, 'name': '_ZTVSt9exception', 'size': 0, 'type': 'OBJECT'}
 {'is_defined': False, 'name': '_ZdaPv', 'type': 'FUNC'}
 {'is_defined': False, 'name': '_ZdaPvSt11align_val_t', 'type': 'FUNC'}
 {'is_defined': False, 'name': '_ZdlPv', 'type': 'FUNC'}
+{'is_defined': False, 'name': '_ZdlPvSt11align_val_t', 'type': 'FUNC'}
 {'is_defined': False, 'name': '_Znam', 'type': 'FUNC'}
 {'is_defined': False, 'name': '_ZnamSt11align_val_t', 'type': 'FUNC'}
Still not sure why these are here though.

Comment at: libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist:558-571
+{'is_defined': True, 'name': '_ZNSt3__110adopt_lockE', 'size': 64, 'type': 'OBJECT'}
+{'is_defined': True, 'name': '_ZNSt3__110ctype_base5alnumE', 'size': 64, 'type': 'OBJECT'}
+{'is_defined': True, 'name': '_ZNSt3__110ctype_base5alphaE', 'size': 64, 'type': 'OBJECT'}
+{'is_defined': True, 'name': '_ZNSt3__110ctype_base5blankE', 'size': 64, 'type': 'OBJECT'}
+{'is_defined': True, 'name': '_ZNSt3__110ctype_base5cntrlE', 'size': 64, 'type': 'OBJECT'}
+{'is_defined': True, 'name': '_ZNSt3__110ctype_base5digitE', 'size': 64, 'type': 'OBJECT'}
+{'is_defined': True, 'name': '_ZNSt3__110ctype_base5graphE', 'size': 64, 'type': 'OBJECT'}
mclow.lists wrote:
> abrachet wrote:
> > Not sure why `make generate-cxx-abilist` touched these, does anyone have any ideas? `LLVM_USE_SANITIZER` perhaps?
> If these things have changed sizes, that's an ABI break.
Looks like it was asan which did this.



More information about the libcxx-commits mailing list