Conditionalize uses of C99 restrict keyword

This is part of C99, but not part of Standard C++, so it can't be used
unconditionally if the sysprof headers might get included into C++ code.

Resolves: https://gitlab.gnome.org/GNOME/sysprof/-/issues/114
Signed-off-by: Simon McVittie <smcv@debian.org>
This commit is contained in:
Simon McVittie
2024-02-24 11:38:47 +00:00
parent 4126a76727
commit 36f4988ecc
3 changed files with 4 additions and 2 deletions

View File

@ -91,9 +91,11 @@
#ifdef __cplusplus #ifdef __cplusplus
#define SYSPROF_BEGIN_DECLS extern "C" { #define SYSPROF_BEGIN_DECLS extern "C" {
#define SYSPROF_END_DECLS } #define SYSPROF_END_DECLS }
#define SYSPROF_RESTRICT /* nothing */
#else #else
#define SYSPROF_BEGIN_DECLS #define SYSPROF_BEGIN_DECLS
#define SYSPROF_END_DECLS #define SYSPROF_END_DECLS
#define SYSPROF_RESTRICT restrict
#endif #endif
#if defined (__GNUC__) #if defined (__GNUC__)

View File

@ -42,7 +42,7 @@ SYSPROF_AVAILABLE_IN_ALL
void sysprof_document_ctrset_get_raw_value (SysprofDocumentCtrset *self, void sysprof_document_ctrset_get_raw_value (SysprofDocumentCtrset *self,
guint nth, guint nth,
guint *id, guint *id,
guint8 value[restrict 8]); guint8 value[SYSPROF_RESTRICT 8]);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SysprofDocumentCtrset, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (SysprofDocumentCtrset, g_object_unref)

View File

@ -60,7 +60,7 @@ sysprof_time_span_relative_to (SysprofTimeSpan time_span,
static inline void static inline void
sysprof_time_span_normalize (SysprofTimeSpan time_span, sysprof_time_span_normalize (SysprofTimeSpan time_span,
SysprofTimeSpan allowed, SysprofTimeSpan allowed,
float values[restrict 2]) float values[SYSPROF_RESTRICT 2])
{ {
double duration = allowed.end_nsec - allowed.begin_nsec; double duration = allowed.end_nsec - allowed.begin_nsec;