Make sure the ParsedRegex structure has the right size.

Some versions of GCC/g++ will not necessarily pad the structure to
a 32-bit boundary, so make the alignment and the filler explicit.

Detected on: Debian/m68k; https://buildd.debian.org/status/fetch.php?pkg=kakoune&arch=m68k&ver=2020.09.01-1&stamp=1629387444&raw=0
This commit is contained in:
Peter Pentchev 2021-08-20 17:13:34 +03:00
parent 7187784936
commit 0e9624f69f

View File

@ -81,7 +81,8 @@ struct ParsedRegex
NodeIndex children_end; NodeIndex children_end;
Codepoint value; Codepoint value;
Quantifier quantifier; Quantifier quantifier;
}; uint16_t filler = 0;
} __attribute__((packed));
static_assert(sizeof(Node) == 16, ""); static_assert(sizeof(Node) == 16, "");
Vector<Node, MemoryDomain::Regex> nodes; Vector<Node, MemoryDomain::Regex> nodes;