This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Ensure result of make_cleanup is never NULL.


On 04/18/2012 03:02 PM, Doug Evans wrote:

> On Wed, Apr 18, 2012 at 2:26 AM, Pedro Alves <palves@redhat.com> wrote:
>> On 04/18/2012 01:43 AM, Doug Evans wrote:
>>
>>> btw, I thought about making cleanup_sentinel const here, for a bit of
>>> extra robustness.
>>
>>
>> Won't that mean you'd need to cast the constness out in most, if
>> not all places that use it?


Well, aren't all places using the sentinel, using it throught the macro?
What does this make more robust?

> 
> --- cleanups.c= 2012-04-17 12:02:38.000000000 -0700
> +++ cleanups.c  2012-04-18 06:59:46.000000000 -0700
> @@ -50,10 +50,10 @@ struct cleanup
>       [though this won't catch errors that a value of, say,
>       ((struct cleanup *) -1) will]
>     - displays as something useful when printed in gdb.  */
> -static struct cleanup cleanup_sentinel;
> +static const struct cleanup cleanup_sentinel;
> 
>  /* Handy macro to use when referring to cleanup_sentinel.  */
> -#define CLEANUP_SENTINEL (&cleanup_sentinel)
> +#define CLEANUP_SENTINEL ((struct cleanup *) &cleanup_sentinel)
> 
>  /* Chain of cleanup actions established with make_cleanup,
>     to be executed if an error happens.  */



-- 
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]