Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:19
erlang
1139-tools-Silence-CodeChecker-in-erl_memory.c....
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 1139-tools-Silence-CodeChecker-in-erl_memory.c.patch of Package erlang
From efca2761acb6f33f0ec0a3429424380234af0879 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson <sverker@erlang.org> Date: Thu, 25 Feb 2021 12:43:59 +0100 Subject: [PATCH 1/2] tools: Silence CodeChecker in erl_memory.c --- lib/tools/c_src/erl_memory.c | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/lib/tools/c_src/erl_memory.c b/lib/tools/c_src/erl_memory.c index 9570cbd0e5..b5e45e3702 100644 --- a/lib/tools/c_src/erl_memory.c +++ b/lib/tools/c_src/erl_memory.c @@ -94,11 +94,32 @@ typedef int socklen_t; #define PRINT_OPERATIONS 0 +/* In VC++, noreturn is a declspec that has to be before the types, + * but in GNUC it is an attribute to be placed between return type + * and function name, hence __decl_noreturn <types> __noreturn <function name> + * + * at some platforms (e.g. Android) __noreturn is defined at sys/cdef.h + */ +#if __GNUC__ +# define __decl_noreturn +# ifndef __noreturn +# define __noreturn __attribute__((noreturn)) +# endif +#else +# if defined(__WIN32__) && defined(_MSC_VER) +# define __noreturn +# define __decl_noreturn __declspec(noreturn) +# else +# define __noreturn +# define __decl_noreturn +# endif +#endif + /* Our own assert() ... */ #ifdef DEBUG #define ASSERT(A) ((void) ((A) ? 1 : assert_failed(__FILE__, __LINE__, #A))) #include <stdio.h> -static int assert_failed(char *f, int l, char *a) +__decl_noreturn static int __noreturn assert_failed(char *f, int l, char *a) { fprintf(stderr, "%s:%d: Assertion failed: %s\n", f, l, a); abort(); @@ -131,8 +152,8 @@ static int assert_failed(char *f, int l, char *a) #define EM_MIN_TRACE_READ_SIZE (EM_DEFAULT_BUF_SZ/20) #define EM_TIME_FIELD_WIDTH 11 -static void error(int res); -static void error_msg(int res, char *msg); +__decl_noreturn static void __noreturn error(int res); +__decl_noreturn static void __noreturn error_msg(int res, char *msg); typedef struct { usgnd_int_max size; @@ -1887,13 +1908,13 @@ error_string(int error) return error_str; } -static void +__decl_noreturn static void __noreturn error(int res) { error_msg(res, NULL); } -static void +__decl_noreturn static void __noreturn error_msg(int res, char *msg) { fprintf(stderr, -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor