]> 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:33:03 +0000 (18:33 -0800)
commit01c6370a32e5875a63400c6e465de775a51ef1b8
tree752005e6b93806240db835bb79cb1c93fbd64384
parent4f64daf73af76cbf32a01c7cba1c3a6fccf3062a
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