postgresql/src/backend
Thomas Munro 53c8d6c9f1 Fix illegal attribute propagation in LLVM JIT.
Commit 72559438 started copying more attributes from AttributeTemplate
to the functions we generate on the fly.  In the case of deform
functions, which return void, this meant that "noundef", from
AttributeTemplate's return value (a Datum) was copied to a void type.
Older LLVM releases were OK with that, but LLVM 18 crashes.

Update our llvm_copy_attributes() function to skip copying the attribute
for the return value, if the target function returns void.

Thanks to Dmitry Dolgov for help chasing this down.

Back-patch to all supported releases, like 72559438.

Reported-by: Pavel Stehule <pavel.stehule@gmail.com>
Reviewed-by: Dmitry Dolgov <9erthalion6@gmail.com>
Discussion: https://postgr.es/m/CAFj8pRACpVFr7LMdVYENUkScG5FCYMZDDdSGNU-tch%2Bw98OxYg%40mail.gmail.com
2024-04-10 12:13:46 +12:00
..
access Get rid of anonymous struct 2024-04-09 16:16:01 +07:00
archive Add built-in ERROR handling for archive callbacks. 2024-04-02 22:28:11 -05:00
backup Remove useless duplicate call of defGetBoolean(). 2024-04-07 17:08:06 -04:00
bootstrap Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
catalog JSON_TABLE: Add support for NESTED paths and columns 2024-04-08 16:14:13 +09:00
commands Checks for ALTER TABLE ... SPLIT/MERGE PARTITIONS ... commands 2024-04-10 01:47:21 +03:00
executor Change BitmapAdjustPrefetchIterator to accept BlockNumber 2024-04-07 01:25:15 +02:00
foreign Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
jit Fix illegal attribute propagation in LLVM JIT. 2024-04-10 12:13:46 +12:00
lib Use the pairing heap instead of a flat array for LSN replay waiters 2024-04-03 18:15:41 +03:00
libpq Fix check for 'outlen' return from SSL_select_next_proto() 2024-04-08 05:03:17 +03:00
main Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
nodes revert: Transform OR clauses to ANY expression 2024-04-10 02:28:09 +03:00
optimizer revert: Transform OR clauses to ANY expression 2024-04-10 02:28:09 +03:00
parser Checks for ALTER TABLE ... SPLIT/MERGE PARTITIONS ... commands 2024-04-10 01:47:21 +03:00
partitioning Fix some grammer errors from error messages and codes comments 2024-04-08 14:39:41 +03:00
po Update copyright for 2024 2024-01-03 20:49:05 -05:00
port Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
postmaster Fill CommonRdOptions with default values in extract_autovac_opts() 2024-04-08 12:18:23 +03:00
regex Support C.UTF-8 locale in the new builtin collation provider. 2024-03-19 15:24:41 -07:00
replication Fixup various StringInfo function usages 2024-04-10 11:53:32 +12:00
rewrite Add RETURNING support to MERGE. 2024-03-17 13:58:59 +00:00
snowball Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
statistics Make stxstattarget nullable 2024-03-17 12:26:26 +01:00
storage Add pg_buffercache_evict() function for testing. 2024-04-08 16:23:40 +12:00
tcop Custom reloptions for table AM 2024-04-08 11:23:28 +03:00
tsearch Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
utils Fixup various StringInfo function usages 2024-04-10 11:53:32 +12:00
.gitignore
Makefile Rework lwlocknames.txt to become lwlocklist.h 2024-03-20 11:55:20 +01:00
common.mk Blind attempt to fix LLVM dependency in the backend 2022-09-15 10:53:48 +07:00
meson.build Remove AIX support 2024-02-28 15:17:23 +04:00
nls.mk Remove distprep 2023-11-06 15:18:04 +01:00