Re: pg_attribute_noreturn(), MSVC, C11
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@postgresql.org, Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>, Thomas Munro <thomas.munro@gmail.com>
Date: 2025-03-10T14:37:43Z
Lists: pgsql-hackers
On 10.03.25 14:58, Andres Freund wrote:
>> diff --git a/src/backend/utils/mmgr/slab.c b/src/backend/utils/mmgr/slab.c
>> index ec8eddad863..d32c0d318fb 100644
>> --- a/src/backend/utils/mmgr/slab.c
>> +++ b/src/backend/utils/mmgr/slab.c
>> @@ -601,8 +601,8 @@ SlabAllocFromNewBlock(MemoryContext context, Size size, int flags)
>> * want to avoid that.
>> */
>> pg_noinline
>> +pg_noreturn
>> static void
>> -pg_attribute_noreturn()
>> SlabAllocInvalidSize(MemoryContext context, Size size)
>> {
>> SlabContext *slab = (SlabContext *) context;
> Hm, is it good to put the pg_noreturn after the pg_noinline?
I probably just did them alphabetically. I don't think there would be a
problem, since pg_noinline is an attribute, and they can generally be
put everywhere. At least until we learn otherwise.
Commits
-
Use standard C23 and C++ attributes if available
- 76f4b92bac87 19 (unreleased) landed
-
Swap order of extern/static and pg_nodiscard
- 05cbd6cb22d2 18.0 landed
-
pg_noreturn to replace pg_attribute_noreturn()
- 3691edfab971 18.0 landed