[Mesa-dev] [RFC 2/4] util/ralloc: Don't define assert with magic member without DEBUG

Kenneth Graunke kenneth at whitecape.org
Wed Sep 20 20:42:45 UTC 2017


On Wednesday, September 20, 2017 1:27:39 PM PDT Dylan Baker wrote:
> It is possible to have DEBUG disabled but asserts on, which cannot build
> because these asserts work on members that are only present when DEBUG
> is on.
> 
> Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
> ---
>  src/util/ralloc.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/src/util/ralloc.c b/src/util/ralloc.c
> index 566f08ad94e..9cce9e02f68 100644
> --- a/src/util/ralloc.c
> +++ b/src/util/ralloc.c
> @@ -630,7 +630,9 @@ linear_alloc_child(void *parent, unsigned size)
>     linear_size_chunk *ptr;
>     unsigned full_size;
>  
> +#ifdef DEBUG
>     assert(first->magic == LMAGIC);
> +#endif
>     assert(!latest->next);
>  
>     size = ALIGN_POT(size, SUBALLOC_ALIGNMENT);
> @@ -702,7 +704,9 @@ linear_free_parent(void *ptr)
>        return;
>  
>     node = LINEAR_PARENT_TO_HEADER(ptr);
> +#ifdef DEBUG
>     assert(node->magic == LMAGIC);
> +#endif
>  
>     while (node) {
>        void *ptr = node;
> @@ -721,7 +725,9 @@ ralloc_steal_linear_parent(void *new_ralloc_ctx, void *ptr)
>        return;
>  
>     node = LINEAR_PARENT_TO_HEADER(ptr);
> +#ifdef DEBUG
>     assert(node->magic == LMAGIC);
> +#endif
>  
>     while (node) {
>        ralloc_steal(new_ralloc_ctx, node);
> @@ -734,7 +740,9 @@ void *
>  ralloc_parent_of_linear_parent(void *ptr)
>  {
>     linear_header *node = LINEAR_PARENT_TO_HEADER(ptr);
> +#ifdef DEBUG
>     assert(node->magic == LMAGIC);
> +#endif
>     return node->ralloc_parent;
>  }
>  
> 

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

It might make senes to change all of these #ifdef DEBUG to #ifndef NDEBUG
which is the actual condition for assert not getting compiled away.

DEBUG is some Mesa thing, I think.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170920/c39a280f/attachment.sig>


More information about the mesa-dev mailing list