Add static assertion ensuring sizeof(ExprEvalStep) <= 64 bytes

This was previously only documented in a comment. Given the size of the
struct, it's not hard to miss that comment. As evidenced by the commits
leading up to fe3caa14393, 67b26703b41.

It's possible, but not likely, that we might have to weaken these assertions
on a less commonly used architecture.

Author: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/295606.1677101684@sss.pgh.pa.us
This commit is contained in:
Andres Freund 2023-02-22 14:27:56 -08:00
parent 5e044471a1
commit 78be04e4c6

View File

@ -669,6 +669,10 @@ typedef struct ExprEvalStep
} d;
} ExprEvalStep;
/* Enforce the size rule given in the comment above */
StaticAssertDecl(sizeof(ExprEvalStep) <= 64,
"size of ExprEvalStep exceeds 64 bytes");
/* Non-inline data for container operations */
typedef struct SubscriptingRefState