Projects
openEuler:24.03:SP1:Everything
orc
_service:tar_scm:backport-Fix-warning-because-o...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-Fix-warning-because-of-a-mismatched-OrcExecutor-function-signature.patch of Package orc
From d34eb15b61079415dbac7fdb74fcb08949a8acae Mon Sep 17 00:00:00 2001 From: "L. E. Segovia" <amy@centricular.com> Date: Fri, 3 Nov 2023 17:46:16 -0300 Subject: [PATCH] orc: Fix warning because of a mismatched OrcExecutor function signature Fixes warning C4113 in MSVC: > testsuite/orcc/testorc.c(27292): warning C4113: 'void (__cdecl *)(OrcExecutor *restrict )' differs in parameter lists from 'OrcExecutorFunc' The ORC_RESTRICT definition was extracted from orcprogram-c.c. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/118> --- orc/orcexecutor.c | 4 ++-- orc/orcexecutor.h | 3 ++- orc/orcutils.h | 12 ++++++++++++ testsuite/memcpy_speed.c | 2 +- tools/orcc.c | 2 +- 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/orc/orcexecutor.c b/orc/orcexecutor.c index 116220c0..9035f4e9 100644 --- a/orc/orcexecutor.c +++ b/orc/orcexecutor.c @@ -38,7 +38,7 @@ orc_executor_free (OrcExecutor *ex) void orc_executor_run (OrcExecutor *ex) { - void (*func) (OrcExecutor *); + OrcExecutorFunc func = NULL; if (ex->program) { func = ex->program->code_exec; @@ -57,7 +57,7 @@ orc_executor_run (OrcExecutor *ex) void orc_executor_run_backup (OrcExecutor *ex) { - void (*func) (OrcExecutor *); + OrcExecutorFunc func = NULL; if (ex->program) { func = ex->program->backup_func; diff --git a/orc/orcexecutor.h b/orc/orcexecutor.h index 5de559b4..eeb55448 100644 --- a/orc/orcexecutor.h +++ b/orc/orcexecutor.h @@ -16,7 +16,8 @@ typedef struct _OrcExecutorAlt OrcExecutorAlt; typedef void (*OrcOpcodeEmulateFunc)(OrcOpcodeExecutor *ex, void *user); typedef void (*OrcOpcodeEmulateNFunc)(OrcOpcodeExecutor *ex, int index, int n); typedef void (*OrcOpcodeEmulate16Func)(OrcOpcodeExecutor *ex); -typedef void (*OrcExecutorFunc)(OrcExecutor *ex); + +typedef void (*OrcExecutorFunc)(OrcExecutor * ORC_RESTRICT ex); /** * OrcOpcodeExecutor: diff --git a/orc/orcutils.h b/orc/orcutils.h index f0475748..5df79dea 100644 --- a/orc/orcutils.h +++ b/orc/orcutils.h @@ -227,6 +227,18 @@ typedef unsigned int orc_bool; #define ORC_API ORC_API_IMPORT #endif +#ifndef ORC_RESTRICT +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#define ORC_RESTRICT restrict +#elif defined(__GNUC__) && __GNUC__ >= 4 +#define ORC_RESTRICT __restrict__ +#elif defined(_MSC_VER) +#define ORC_RESTRICT __restrict +#else +#define ORC_RESTRICT +#endif +#endif + ORC_BEGIN_DECLS #ifdef ORC_ENABLE_UNSTABLE_API diff --git a/testsuite/memcpy_speed.c b/testsuite/memcpy_speed.c index a3089dae..e5ff2c3f 100644 --- a/testsuite/memcpy_speed.c +++ b/testsuite/memcpy_speed.c @@ -127,7 +127,7 @@ main(int argc, char *argv[]) orc_profile_init (&prof); for(j=0;j<10;j++){ OrcExecutor _ex, *ex = &_ex; - void (*func) (OrcExecutor *); + OrcExecutorFunc func = NULL; orc_profile_start(&prof); /* orc_memcpy (dest, src, size); */ diff --git a/tools/orcc.c b/tools/orcc.c index 95b8c54e..33db66f4 100644 --- a/tools/orcc.c +++ b/tools/orcc.c @@ -891,7 +891,7 @@ output_code_execute (OrcProgram *p, FILE *output, int is_inline) fprintf(output, " OrcProgram *p;\n"); } } - fprintf(output, " void (*func) (OrcExecutor *);\n"); + fprintf(output, " OrcExecutorFunc func = NULL;\n"); fprintf(output, "\n"); if (use_lazy_init) { if (use_code) { -- GitLab
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2