os: move BUG_*() macros to own private header

These macros aren't used by any external modules, so no need
to keep them public. Moving them into private header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1804>
This commit is contained in:
Enrico Weigelt, metux IT consult 2025-02-17 17:32:15 +01:00 committed by Marge Bot
parent a6b2eb3780
commit 346d5f5c35
23 changed files with 54 additions and 28 deletions

View File

@ -59,6 +59,7 @@ PERFORMANCE OF THIS SOFTWARE.
#include <X11/extensions/syncproto.h> #include <X11/extensions/syncproto.h>
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "os/bug_priv.h"
#include "os/osdep.h" #include "os/osdep.h"
#include "scrnintstr.h" #include "scrnintstr.h"

View File

@ -81,6 +81,7 @@ SOFTWARE.
#include <dix-config.h> #include <dix-config.h>
#include "dix/cursor_priv.h" #include "dix/cursor_priv.h"
#include "os/bug_priv.h"
#include <X11/X.h> #include <X11/X.h>
#include <X11/Xproto.h> #include <X11/Xproto.h>

View File

@ -47,6 +47,7 @@
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "dix/input_priv.h" #include "dix/input_priv.h"
#include "mi/mi_priv.h" #include "mi/mi_priv.h"
#include "os/bug_priv.h"
#include "xibarriers.h" #include "xibarriers.h"
#include "scrnintstr.h" #include "scrnintstr.h"

View File

@ -41,6 +41,7 @@
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "dix/exevents_priv.h" #include "dix/exevents_priv.h"
#include "dix/input_priv.h" #include "dix/input_priv.h"
#include "os/bug_priv.h"
#include "inputstr.h" /* DeviceIntPtr */ #include "inputstr.h" /* DeviceIntPtr */
#include "windowstr.h" /* window structure */ #include "windowstr.h" /* window structure */

View File

@ -51,6 +51,7 @@ SOFTWARE.
#include "dix/cursor_priv.h" #include "dix/cursor_priv.h"
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "os/bug_priv.h"
#include "servermd.h" #include "servermd.h"
#include "scrnintstr.h" #include "scrnintstr.h"

View File

@ -61,6 +61,7 @@ SOFTWARE.
#include "dix/input_priv.h" #include "dix/input_priv.h"
#include "dix/ptrveloc_priv.h" #include "dix/ptrveloc_priv.h"
#include "mi/mi_priv.h" #include "mi/mi_priv.h"
#include "os/bug_priv.h"
#include "os/osdep.h" #include "os/osdep.h"
#include "xkb/xkbsrv_priv.h" #include "xkb/xkbsrv_priv.h"

View File

@ -34,6 +34,7 @@
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "dix/eventconvert.h" #include "dix/eventconvert.h"
#include "dix/input_priv.h" #include "dix/input_priv.h"
#include "os/bug_priv.h"
#include "inputstr.h" #include "inputstr.h"
#include "windowstr.h" #include "windowstr.h"

View File

@ -124,6 +124,7 @@ Equipment Corporation.
#include "dix/input_priv.h" #include "dix/input_priv.h"
#include "dix/eventconvert.h" #include "dix/eventconvert.h"
#include "dix/exevents_priv.h" #include "dix/exevents_priv.h"
#include "os/bug_priv.h"
#include "xkb/xkbsrv_priv.h" #include "xkb/xkbsrv_priv.h"
#include "misc.h" #include "misc.h"

View File

@ -30,6 +30,7 @@
#include "dix/eventconvert.h" #include "dix/eventconvert.h"
#include "dix/input_priv.h" #include "dix/input_priv.h"
#include "mi/mi_priv.h" #include "mi/mi_priv.h"
#include "os/bug_priv.h"
#include "inputstr.h" #include "inputstr.h"
#include "scrnintstr.h" #include "scrnintstr.h"

View File

@ -41,8 +41,8 @@
#include <X11/extensions/XKBproto.h> #include <X11/extensions/XKBproto.h>
#include "dix/input_priv.h" #include "dix/input_priv.h"
#include "mi/mi_priv.h" #include "mi/mi_priv.h"
#include "os/bug_priv.h"
#include "misc.h" #include "misc.h"
#include "resource.h" #include "resource.h"

View File

@ -27,6 +27,7 @@
#include "dix/exevents_priv.h" #include "dix/exevents_priv.h"
#include "dix/input_priv.h" #include "dix/input_priv.h"
#include "os/bug_priv.h"
#include "exglobals.h" #include "exglobals.h"
#include "misc.h" #include "misc.h"

View File

@ -27,6 +27,7 @@
#include <math.h> #include <math.h>
#include "dix/ptrveloc_priv.h" #include "dix/ptrveloc_priv.h"
#include "os/bug_priv.h"
#include <ptrveloc.h> #include <ptrveloc.h>
#include <exevents.h> #include <exevents.h>

View File

@ -32,6 +32,7 @@
#include "dix/exevents_priv.h" #include "dix/exevents_priv.h"
#include "dix/input_priv.h" #include "dix/input_priv.h"
#include "mi/mi_priv.h" #include "mi/mi_priv.h"
#include "os/bug_priv.h"
#include "inputstr.h" #include "inputstr.h"
#include "scrnintstr.h" #include "scrnintstr.h"

View File

@ -34,6 +34,7 @@
#include "dix/input_priv.h" #include "dix/input_priv.h"
#include "mi/mi_priv.h" #include "mi/mi_priv.h"
#include "mi/mipointer_priv.h" #include "mi/mipointer_priv.h"
#include "os/bug_priv.h"
#include <inputstr.h> #include <inputstr.h>
#include <xkbsrv.h> #include <xkbsrv.h>

View File

@ -394,31 +394,4 @@ typedef struct _CharInfo *CharInfoPtr; /* also in fonts/include/font.h */
extern _X_EXPORT unsigned long globalSerialNumber; extern _X_EXPORT unsigned long globalSerialNumber;
extern _X_EXPORT unsigned long serverGeneration; extern _X_EXPORT unsigned long serverGeneration;
/* Don't use this directly, use BUG_WARN or BUG_WARN_MSG instead */
#define __BUG_WARN_MSG(cond, with_msg, ...) \
do { if (cond) { \
ErrorF("BUG: triggered 'if (" #cond ")'\n"); \
ErrorF("BUG: %s:%u in %s()\n", \
__FILE__, __LINE__, __func__); \
if (with_msg) ErrorF(__VA_ARGS__); \
xorg_backtrace(); \
} } while(0)
#define BUG_WARN_MSG(cond, ...) \
__BUG_WARN_MSG(cond, 1, __VA_ARGS__)
#define BUG_WARN(cond) __BUG_WARN_MSG(cond, 0, NULL)
#define BUG_RETURN(cond) \
do { if (cond) { __BUG_WARN_MSG(cond, 0, NULL); return; } } while(0)
#define BUG_RETURN_MSG(cond, ...) \
do { if (cond) { __BUG_WARN_MSG(cond, 1, __VA_ARGS__); return; } } while(0)
#define BUG_RETURN_VAL(cond, val) \
do { if (cond) { __BUG_WARN_MSG(cond, 0, NULL); return (val); } } while(0)
#define BUG_RETURN_VAL_MSG(cond, val, ...) \
do { if (cond) { __BUG_WARN_MSG(cond, 1, __VA_ARGS__); return (val); } } while(0)
#endif /* MISC_H */ #endif /* MISC_H */

View File

@ -44,6 +44,7 @@ in this Software without prior written authorization from The Open Group.
#include "dix/cursor_priv.h" #include "dix/cursor_priv.h"
#include "mi/mi_priv.h" #include "mi/mi_priv.h"
#include "mi/mipointer_priv.h" #include "mi/mipointer_priv.h"
#include "os/bug_priv.h"
#include "os/screensaver.h" #include "os/screensaver.h"
#include "misc.h" #include "misc.h"

View File

@ -27,6 +27,7 @@
* DEALINGS IN THE SOFTWARE. * DEALINGS IN THE SOFTWARE.
*/ */
#include "os/bug_priv.h"
/* /*
* Basic transpose step * Basic transpose step

33
os/bug_priv.h Normal file
View File

@ -0,0 +1,33 @@
/* SPDX-License-Identifier: MIT OR X11
*
* Copyright © 2024 Enrico Weigelt, metux IT consult <info@metux.net>
*/
#ifndef _XSERVER_OS_BUG_H_
#define _XSERVER_OS_BUG_H_
/* Don't use this directly, use BUG_WARN or BUG_WARN_MSG instead */
#define __BUG_WARN_MSG(cond, with_msg, ...) \
do { if (cond) { \
ErrorF("BUG: 'if (" #cond ")'\n"); \
ErrorF("BUG: %s:%u in %s()\n", __FILE__, __LINE__, __func__); \
if (with_msg) ErrorF(__VA_ARGS__); \
xorg_backtrace(); \
} } while(0)
#define BUG_WARN_MSG(cond, ...) __BUG_WARN_MSG(cond, 1, __VA_ARGS__)
#define BUG_WARN(cond) __BUG_WARN_MSG(cond, 0, NULL)
#define BUG_RETURN(cond) \
do { if (cond) { __BUG_WARN_MSG(cond, 0, NULL); return; } } while(0)
#define BUG_RETURN_MSG(cond, ...) \
do { if (cond) { __BUG_WARN_MSG(cond, 1, __VA_ARGS__); return; } } while(0)
#define BUG_RETURN_VAL(cond, val) \
do { if (cond) { __BUG_WARN_MSG(cond, 0, NULL); return (val); } } while(0)
#define BUG_RETURN_VAL_MSG(cond, val, ...) \
do { if (cond) { __BUG_WARN_MSG(cond, 1, __VA_ARGS__); return (val); } } while(0)
#endif /* _XSERVER_OS_BUG_H_ */

View File

@ -74,6 +74,7 @@ SOFTWARE.
#include <X11/Xproto.h> #include <X11/Xproto.h>
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "os/bug_priv.h"
#include "os.h" #include "os.h"
#include "osdep.h" #include "osdep.h"

View File

@ -91,6 +91,7 @@ OR PERFORMANCE OF THIS SOFTWARE.
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "dix/input_priv.h" #include "dix/input_priv.h"
#include "os/audit.h" #include "os/audit.h"
#include "os/bug_priv.h"
#include "os/ddx_priv.h" #include "os/ddx_priv.h"
#include "os/fmt.h" #include "os/fmt.h"
#include "os/osdep.h" #include "os/osdep.h"

View File

@ -106,6 +106,7 @@ __stdcall unsigned long GetTickCount(void);
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "dix/input_priv.h" #include "dix/input_priv.h"
#include "os/auth.h" #include "os/auth.h"
#include "os/bug_priv.h"
#include "os/cmdline.h" #include "os/cmdline.h"
#include "os/ddx_priv.h" #include "os/ddx_priv.h"
#include "os/osdep.h" #include "os/osdep.h"

View File

@ -24,6 +24,7 @@
#include <dix-config.h> #include <dix-config.h>
#include "os/bug_priv.h"
#include "os/xsha1.h" #include "os/xsha1.h"
#include "misc.h" #include "misc.h"

View File

@ -39,6 +39,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <X11/Xatom.h> #include <X11/Xatom.h>
#include <X11/extensions/XKMformat.h> #include <X11/extensions/XKMformat.h>
#include "os/bug_priv.h"
#include "os/cmdline.h" #include "os/cmdline.h"
#include "xkb/xkbsrv_priv.h" #include "xkb/xkbsrv_priv.h"