diff options
author | Eric Fiselier <eric@efcs.ca> | 2017-01-16 21:15:08 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2017-01-16 21:15:08 +0000 |
commit | b43f17c835df5d4ffa94f1902fe7af88206d7521 (patch) | |
tree | 969c0de4f3d49fe5f67f37ba0417eaed0b854db8 /libcxx/include/tuple | |
parent | fc26379a843ab23db0a637636423e9cb49747b2b (diff) | |
download | bcm5719-llvm-b43f17c835df5d4ffa94f1902fe7af88206d7521.tar.gz bcm5719-llvm-b43f17c835df5d4ffa94f1902fe7af88206d7521.zip |
Fix std::tuples EBO when targeting the MSVC ABI.
MSVC/clang-cl doesn't do a full EBO unless __declspec(empty_bases)
is applied to the derived type. This causes certain tuple tests
to fail.
This patch adds the empty_bases attribute to __tuple_impl in order
for tuple to fully provide the EBO.
llvm-svn: 292159
Diffstat (limited to 'libcxx/include/tuple')
-rw-r--r-- | libcxx/include/tuple | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxx/include/tuple b/libcxx/include/tuple index cddb70954ee..a17ea01f102 100644 --- a/libcxx/include/tuple +++ b/libcxx/include/tuple @@ -366,7 +366,7 @@ struct __all_default_constructible<__tuple_types<_Tp...>> template<class _Indx, class ..._Tp> struct __tuple_impl; template<size_t ..._Indx, class ..._Tp> -struct __tuple_impl<__tuple_indices<_Indx...>, _Tp...> +struct _LIBCPP_DECLSPEC_EMPTY_BASES __tuple_impl<__tuple_indices<_Indx...>, _Tp...> : public __tuple_leaf<_Indx, _Tp>... { _LIBCPP_INLINE_VISIBILITY |