From: Sandra Loosemore Date: Fri, 19 Jan 2024 02:06:55 +0000 (+0000) Subject: More precise documentation for cleanup attribute [PR110029] X-Git-Tag: basepoints/gcc-15~1876 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ed28a835058d2e72036f4adb1dd60edf735c7d00;p=thirdparty%2Fgcc.git More precise documentation for cleanup attribute [PR110029] gcc/ChangeLog PR c/110029 * doc/extend.texi (Common Variable Attributes): Explain what happens when multiple variables with cleanups are in the same scope. --- diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 616e26d47dc2..0bc586d120e7 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -7782,6 +7782,11 @@ with static storage duration. The function must take one parameter, a pointer to a type compatible with the variable. The return value of the function (if any) is ignored. +When multiple variables in the same scope have @code{cleanup} +attributes, at exit from the scope their associated cleanup functions +are run in reverse order of definition (last defined, first +cleanup). + If @option{-fexceptions} is enabled, then @var{cleanup_function} is run during the stack unwinding that happens during the processing of the exception. Note that the @code{cleanup} attribute