blob: faa86b0d1b086cb567464246bf9a035ce9623b2a [file] [log] [blame]
From 09ce52fe375a6fc1ccf51b6b691aaa2c3f53fbd5 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Fri, 3 Jun 2022 16:26:03 +0200
Subject: [PATCH] Fix uClibc build
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes build errors with uClibc and gcc-9.3.0:
../src/gallium/drivers/lima/lima_texture.c:47:15: error: expected
declaration specifiers or ‘...’ before __builtin_offsetof
47 | static_assert(offsetof(lima_tex_desc, va) == 24,
"lima_tex_desc->va offset isn't 24");
../src/egl/main/egldisplay.c: In function _eglGetNativePlatformFromEnv’:
../src/egl/main/egldisplay.c:101:4: error: implicit declaration of
function static_assert [-Werror=implicit-function-declaration] 101 |
static_assert(ARRAY_SIZE(egl_platforms) == _EGL_NUM_PLATFORMS,
../src/util/macros.h:74:4: error: implicit declaration of function
static_assert [-Werror=implicit-function-declaration]
74 | static_assert(cond, #cond); \
| ^~~~~~~~~~~~~
Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13898
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[rebased for 23.2.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
src/util/compiler.h | 10 ++++++++++
src/util/macros.h | 1 +
2 files changed, 11 insertions(+)
diff --git a/src/util/compiler.h b/src/util/compiler.h
index d184ad455af..b5c56807acc 100644
--- a/src/util/compiler.h
+++ b/src/util/compiler.h
@@ -35,6 +35,17 @@
#include <assert.h>
+
+/*
+ * C11 static_assert() macro
+ * assert.h only defines that name for C11 and above
+ */
+#if !defined(__cplusplus)
+#ifndef static_assert
+#define static_assert _Static_assert
+#endif
+#endif
+
#include <limits.h>
#include <stdarg.h>
#include <stdbool.h>
diff --git a/src/util/macros.h b/src/util/macros.h
index 22b18303826..8f73ee72693 100644
--- a/src/util/macros.h
+++ b/src/util/macros.h
@@ -31,6 +31,7 @@
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
+#include "util/compiler.h"
#ifdef _GAMING_XBOX
#define strdup _strdup
--
2.34.1