From 5b92008ae279962dc09bcf98c9e5511a325a2bd9 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 9 Nov 2016 14:48:45 -0700 Subject: [PATCH] util: add MSVC HAS_TRIVIAL_DESTRUCTOR implementation Based on a patch by George Kyriazis but changed to test for _MSC_VER >= 1800 (Visual Studio 2015). This fixes the failed CANARY assertion in src/util/ralloc.c:get_header() on Windows. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98595 Tested-by: Brian Paul Signed-off-by: Brian Paul --- src/util/macros.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/util/macros.h b/src/util/macros.h index 27d1b62..0563fa5 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 >= 1800 +# 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 -- 2.7.4