[Mesa-dev] [PATCH 2/3] mesa: added msvc HAS_TRIVIAL_DESTRUCTOR implementation

Brian Paul brianp at vmware.com
Wed Nov 9 20:58:54 UTC 2016


On 11/07/2016 03:32 PM, George Kyriazis wrote:
> not having it on windows causes a CANARY assertion in
> src/util/ralloc.c:get_header()
>
> Tested only on MSVC 19.00 (DevStudio 14.0), so #ifdef guards reflect that.
> ---
>   src/util/macros.h | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/src/util/macros.h b/src/util/macros.h
> index 27d1b62..12b26d3 100644
> --- a/src/util/macros.h
> +++ b/src/util/macros.h
> @@ -175,6 +175,11 @@ do {                       \
>   #      if __has_feature(has_trivial_destructor)
>   #         define HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
>   #      endif
> +#   elif defined(_MSC_VER) && !defined(__INTEL_COMPILER)
> +#      if _MSC_VER >= 1900
> +#         define HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
> +#      else
> +#      endif
>   #   endif
>   #   ifndef HAS_TRIVIAL_DESTRUCTOR
>          /* It's always safe (if inefficient) to assume that a
>

This seems to fix things for me too.  Though I changed the _MSC_VER test 
to compare against 1800 for VS 2013.

Tested-by: Brian Paul <brianp at vmware.com>

If there's no objections, I'd like to commit this soon.

-Brian



More information about the mesa-dev mailing list