]> git.ipfire.org Git - thirdparty/postgresql.git/commit
jit: Correct parameter type for generated expression evaluation functions.
authorAndres Freund <andres@anarazel.de>
Tue, 8 Dec 2020 02:21:06 +0000 (18:21 -0800)
committerAndres Freund <andres@anarazel.de>
Tue, 8 Dec 2020 02:39:32 +0000 (18:39 -0800)
commit27b57f806dc2da9d43657c0ef9569be9aac11e1c
treeb7362f8db9fe81105f5575caa8880a5caa8a64bf
parentb07490b912467e6760b3a410347959c3eb9fc306
jit: Correct parameter type for generated expression evaluation functions.

clang only uses the 'i1' type for scalar booleans, not for pointers to
booleans (as the pointer might be pointing into a larger memory
allocation). Therefore a pointer-to-bool needs to the "storage" boolean.

There's no known case of wrong code generation due to this, but it seems quite
possible that it could cause problems (see e.g. 72559438f92).

Author: Andres Freund
Discussion: https://postgr.es/m/20201207212142.wz5tnbk2jsaqzogb@alap3.anarazel.de
Backpatch: 11-, where jit support was added
src/backend/jit/llvm/llvmjit_expr.c