...that were introduced with bca539e889 "make
OString(OStringLiteral) constructor constexpr", apparently to mimic the
corresponding #pragma pack for rtl_String in include/rtl/string.h. But neither
of them appear to have any value: All struct member types involved
(oslInterlockedCount aka sal_Int32, sal_Int32 itself, and char) have size < 8,
so the member alignment ("on a boundary that's either a multiple of [the pragma
pack value], or a multiple of the size of the member, whichever is smaller",
according to
<https://docs.microsoft.com/en-us/cpp/preprocessor/pack?view=msvc-160>) is not
affected. And neither are alignof(rtl_String) and alignof(OStringLiteral<N>)
affected, which remain e.g. 4 on x86-64. (And prior to
bca539e889, OStringLiteral did not have any pragma
pack cargo cult, but which did not cause OStringLiteral::assertLayout to fail,
or raise any other documented issues.)
So remove the pragma pack cargo cult again at least from OStringLiteral. (And
leave potential removal from rtl_String for another commit.)
(This is similar to the corresponding f62cb40bdf
"Remove dubious #pragma pack" for OUStringLiteral.)
Change-Id: I7808837a667bca717aa2e3abfdf9cb16268789ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114535
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>