Skip to content

Commit 78be04e

Browse files
committed
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 fe3caa1, 67b2670. 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
1 parent 5e04447 commit 78be04e

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/include/executor/execExpr.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -669,6 +669,10 @@ typedef struct ExprEvalStep
669669
} d;
670670
} ExprEvalStep;
671671

672+
/* Enforce the size rule given in the comment above */
673+
StaticAssertDecl(sizeof(ExprEvalStep) <= 64,
674+
"size of ExprEvalStep exceeds 64 bytes");
675+
672676

673677
/* Non-inline data for container operations */
674678
typedef struct SubscriptingRefState

0 commit comments

Comments
 (0)