Skip to content

util: avoid deprecated builtin has_trivial_destructor

Thomas Andersen requested to merge phomes/mesa:has_trivial_destructor into main

From clang 16 has_trivial_destructor is deprecated. Use the replacement __is_trivially_destructible if it is available.

Fixes new warnings with clang 16 like:

../src/compiler/glsl/list.h:58:4: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
../src/util/ralloc.h:551:4: note: expanded from macro 'DECLARE_RZALLOC_CXX_OPERATORS'
   DECLARE_ALLOC_CXX_OPERATORS_TEMPLATE(type, rzalloc_size)
   ^
../src/util/ralloc.h:542:12: note: expanded from macro 'DECLARE_ALLOC_CXX_OPERATORS_TEMPLATE'
      if (!HAS_TRIVIAL_DESTRUCTOR(TYPE))                                 \
           ^
../src/util/macros.h:233:44: note: expanded from macro 'HAS_TRIVIAL_DESTRUCTOR'
#         define HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
Edited by Thomas Andersen

Merge request reports