Coverage Report

Created: 2025-06-24 06:45

/src/binutils-gdb/libctf/ctf-decls.h
Line
Count
Source (jump to first uncovered line)
1
/* Declarations for missing functions.
2
   Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4
   This file is part of libctf.
5
6
   libctf is free software; you can redistribute it and/or modify it under
7
   the terms of the GNU General Public License as published by the Free
8
   Software Foundation; either version 3, or (at your option) any later
9
   version.
10
11
   This program is distributed in the hope that it will be useful, but
12
   WITHOUT ANY WARRANTY; without even the implied warranty of
13
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
   See the GNU General Public License for more details.
15
16
   You should have received a copy of the GNU General Public License
17
   along with this program; see the file COPYING.  If not see
18
   <http://www.gnu.org/licenses/>.  */
19
20
#ifndef _CTF_DECLS_H
21
#define _CTF_DECLS_H
22
23
#include "config.h"
24
25
#include <stddef.h>
26
#include <stdlib.h>
27
#include "libiberty.h"
28
29
#if HAVE_QSORT_R_ARG_LAST
30
static inline void
31
ctf_qsort_r (void *base, size_t nmemb, size_t size,
32
       int (*compar)(const void *, const void *, void *),
33
       void *arg)
34
0
{
35
0
  qsort_r (base, nmemb, size, compar, arg);
36
0
}
Unexecuted instantiation: ctf-archive.c:ctf_qsort_r
Unexecuted instantiation: ctf-dump.c:ctf_qsort_r
Unexecuted instantiation: ctf-error.c:ctf_qsort_r
Unexecuted instantiation: ctf-hash.c:ctf_qsort_r
Unexecuted instantiation: ctf-labels.c:ctf_qsort_r
Unexecuted instantiation: ctf-lookup.c:ctf_qsort_r
Unexecuted instantiation: ctf-open.c:ctf_qsort_r
Unexecuted instantiation: ctf-serialize.c:ctf_qsort_r
Unexecuted instantiation: ctf-string.c:ctf_qsort_r
Unexecuted instantiation: ctf-subr.c:ctf_qsort_r
Unexecuted instantiation: ctf-types.c:ctf_qsort_r
Unexecuted instantiation: ctf-util.c:ctf_qsort_r
Unexecuted instantiation: ctf-open-bfd.c:ctf_qsort_r
Unexecuted instantiation: ctf-create.c:ctf_qsort_r
Unexecuted instantiation: ctf-decl.c:ctf_qsort_r
Unexecuted instantiation: ctf-dedup.c:ctf_qsort_r
Unexecuted instantiation: ctf-link.c:ctf_qsort_r
Unexecuted instantiation: ctf-sha1.c:ctf_qsort_r
37
#elif HAVE_QSORT_R_COMPAR_LAST
38
struct ctf_qsort_arg
39
{
40
  int (*compar) (const void *, const void *, void *);
41
  void *arg;
42
};
43
44
static int
45
ctf_qsort_compar_thunk (void *arg, const void *a, const void *b)
46
{
47
  struct ctf_qsort_arg *qsort_arg = (struct ctf_qsort_arg *) arg;
48
49
  return qsort_arg->compar (a, b, qsort_arg->arg);
50
}
51
52
static inline void
53
ctf_qsort_r (void *base, size_t nmemb, size_t size,
54
       int (*compar)(const void *, const void *, void *),
55
       void *arg)
56
{
57
  struct ctf_qsort_arg thunk = { compar, arg };
58
  qsort_r (base, nmemb, size, &thunk, ctf_qsort_compar_thunk);
59
}
60
#else
61
void ctf_qsort_r (void *base, size_t nmemb, size_t size,
62
        int (*compar)(const void *, const void *, void *),
63
        void *arg);
64
#endif
65
66
#ifndef HAVE_O_CLOEXEC
67
# define O_CLOEXEC 0
68
#endif
69
70
#undef MAX
71
#undef MIN
72
0
#define MAX(a, b) ((a) > (b) ? (a) : (b))
73
0
#define MIN(a, b) ((a) < (b) ? (a) : (b))
74
75
#if !HAVE_DECL_STPCPY
76
extern char *stpcpy (char *, const char *);
77
#endif
78
79
#endif /* _CTF_DECLS_H */