Coverage Report

Created: 2026-01-17 06:09

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libgit2/src/util/thread.h
Line
Count
Source
1
/*
2
 * Copyright (C) the libgit2 contributors. All rights reserved.
3
 *
4
 * This file is part of libgit2, distributed under the GNU GPL v2 with
5
 * a Linking Exception. For full terms see the included COPYING file.
6
 */
7
#ifndef INCLUDE_thread_h__
8
#define INCLUDE_thread_h__
9
10
#if defined(GIT_THREADS)
11
12
#if defined(__clang__)
13
14
# if (__clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 1))
15
#  error Atomic primitives do not exist on this version of clang; configure libgit2 with -DUSE_THREADS=OFF
16
# else
17
#  define GIT_BUILTIN_ATOMIC
18
# endif
19
20
#elif defined(__GNUC__)
21
22
# if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 1))
23
#  error Atomic primitives do not exist on this version of gcc; configure libgit2 with -DUSE_THREADS=OFF
24
# elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
25
#  define GIT_BUILTIN_ATOMIC
26
# else
27
#  define GIT_BUILTIN_SYNC
28
# endif
29
30
#endif
31
32
#endif /* GIT_THREADS */
33
34
/* Common operations even if threading has been disabled */
35
typedef struct {
36
#if defined(GIT_WIN32)
37
  volatile long val;
38
#else
39
  volatile int val;
40
#endif
41
} git_atomic32;
42
43
#ifdef GIT_ARCH_64
44
45
typedef struct {
46
#if defined(GIT_WIN32)
47
  volatile __int64 val;
48
#else
49
  volatile int64_t val;
50
#endif
51
} git_atomic64;
52
53
typedef git_atomic64 git_atomic_ssize;
54
55
#define git_atomic_ssize_set git_atomic64_set
56
0
#define git_atomic_ssize_add git_atomic64_add
57
0
#define git_atomic_ssize_get git_atomic64_get
58
59
#else
60
61
typedef git_atomic32 git_atomic_ssize;
62
63
#define git_atomic_ssize_set git_atomic32_set
64
#define git_atomic_ssize_add git_atomic32_add
65
#define git_atomic_ssize_get git_atomic32_get
66
67
#endif
68
69
#ifdef GIT_THREADS
70
71
#ifdef GIT_WIN32
72
#   include "win32/thread.h"
73
#else
74
#   include "unix/pthread.h"
75
#endif
76
77
/*
78
 * Atomically sets the contents of *a to be val.
79
 */
80
GIT_INLINE(void) git_atomic32_set(git_atomic32 *a, int val)
81
0
{
82
#if defined(GIT_WIN32)
83
  InterlockedExchange(&a->val, (LONG)val);
84
#elif defined(GIT_BUILTIN_ATOMIC)
85
  __atomic_store_n(&a->val, val, __ATOMIC_SEQ_CST);
86
#elif defined(GIT_BUILTIN_SYNC)
87
  __sync_lock_test_and_set(&a->val, val);
88
#else
89
# error "Unsupported architecture for atomic operations"
90
#endif
91
0
}
Unexecuted instantiation: midx_fuzzer.c:git_atomic32_set
Unexecuted instantiation: fuzzer_utils.c:git_atomic32_set
Unexecuted instantiation: errors.c:git_atomic32_set
Unexecuted instantiation: hash.c:git_atomic32_set
Unexecuted instantiation: runtime.c:git_atomic32_set
Unexecuted instantiation: str.c:git_atomic32_set
Unexecuted instantiation: thread.c:git_atomic32_set
Unexecuted instantiation: util.c:git_atomic32_set
Unexecuted instantiation: collisiondetect.c:git_atomic32_set
Unexecuted instantiation: sha1.c:git_atomic32_set
Unexecuted instantiation: ubc_check.c:git_atomic32_set
Unexecuted instantiation: builtin.c:git_atomic32_set
Unexecuted instantiation: libgit2.c:git_atomic32_set
Unexecuted instantiation: merge_driver.c:git_atomic32_set
Unexecuted instantiation: merge_file.c:git_atomic32_set
Unexecuted instantiation: midx.c:git_atomic32_set
Unexecuted instantiation: mwindow.c:git_atomic32_set
Unexecuted instantiation: odb.c:git_atomic32_set
Unexecuted instantiation: odb_loose.c:git_atomic32_set
Unexecuted instantiation: odb_pack.c:git_atomic32_set
Unexecuted instantiation: oid.c:git_atomic32_set
Unexecuted instantiation: pack.c:git_atomic32_set
Unexecuted instantiation: repository.c:git_atomic32_set
Unexecuted instantiation: revparse.c:git_atomic32_set
Unexecuted instantiation: revwalk.c:git_atomic32_set
Unexecuted instantiation: settings.c:git_atomic32_set
Unexecuted instantiation: strarray.c:git_atomic32_set
Unexecuted instantiation: mbedtls.c:git_atomic32_set
Unexecuted instantiation: openssl.c:git_atomic32_set
Unexecuted instantiation: registry.c:git_atomic32_set
Unexecuted instantiation: socket.c:git_atomic32_set
Unexecuted instantiation: submodule.c:git_atomic32_set
Unexecuted instantiation: sysdir.c:git_atomic32_set
Unexecuted instantiation: tag.c:git_atomic32_set
Unexecuted instantiation: http.c:git_atomic32_set
Unexecuted instantiation: httpclient.c:git_atomic32_set
Unexecuted instantiation: httpparser.c:git_atomic32_set
Unexecuted instantiation: smart_protocol.c:git_atomic32_set
Unexecuted instantiation: ssh_libssh2.c:git_atomic32_set
Unexecuted instantiation: tree.c:git_atomic32_set
Unexecuted instantiation: worktree.c:git_atomic32_set
Unexecuted instantiation: alloc.c:git_atomic32_set
Unexecuted instantiation: failalloc.c:git_atomic32_set
Unexecuted instantiation: stdalloc.c:git_atomic32_set
Unexecuted instantiation: date.c:git_atomic32_set
Unexecuted instantiation: filebuf.c:git_atomic32_set
Unexecuted instantiation: fs_path.c:git_atomic32_set
Unexecuted instantiation: futils.c:git_atomic32_set
Unexecuted instantiation: net.c:git_atomic32_set
Unexecuted instantiation: pool.c:git_atomic32_set
Unexecuted instantiation: posix.c:git_atomic32_set
Unexecuted instantiation: pqueue.c:git_atomic32_set
Unexecuted instantiation: rand.c:git_atomic32_set
Unexecuted instantiation: regexp.c:git_atomic32_set
Unexecuted instantiation: vector.c:git_atomic32_set
Unexecuted instantiation: wildmatch.c:git_atomic32_set
Unexecuted instantiation: zstream.c:git_atomic32_set
Unexecuted instantiation: map.c:git_atomic32_set
Unexecuted instantiation: realpath.c:git_atomic32_set
Unexecuted instantiation: annotated_commit.c:git_atomic32_set
Unexecuted instantiation: attr.c:git_atomic32_set
Unexecuted instantiation: attr_file.c:git_atomic32_set
Unexecuted instantiation: attrcache.c:git_atomic32_set
Unexecuted instantiation: blob.c:git_atomic32_set
Unexecuted instantiation: branch.c:git_atomic32_set
Unexecuted instantiation: buf.c:git_atomic32_set
Unexecuted instantiation: cache.c:git_atomic32_set
Unexecuted instantiation: checkout.c:git_atomic32_set
Unexecuted instantiation: clone.c:git_atomic32_set
Unexecuted instantiation: commit.c:git_atomic32_set
Unexecuted instantiation: commit_graph.c:git_atomic32_set
Unexecuted instantiation: commit_list.c:git_atomic32_set
Unexecuted instantiation: config.c:git_atomic32_set
Unexecuted instantiation: config_cache.c:git_atomic32_set
Unexecuted instantiation: config_file.c:git_atomic32_set
Unexecuted instantiation: config_list.c:git_atomic32_set
Unexecuted instantiation: config_parse.c:git_atomic32_set
Unexecuted instantiation: config_snapshot.c:git_atomic32_set
Unexecuted instantiation: delta.c:git_atomic32_set
Unexecuted instantiation: diff.c:git_atomic32_set
Unexecuted instantiation: diff_driver.c:git_atomic32_set
Unexecuted instantiation: diff_generate.c:git_atomic32_set
Unexecuted instantiation: diff_print.c:git_atomic32_set
Unexecuted instantiation: diff_tform.c:git_atomic32_set
Unexecuted instantiation: email.c:git_atomic32_set
Unexecuted instantiation: filter.c:git_atomic32_set
Unexecuted instantiation: grafts.c:git_atomic32_set
Unexecuted instantiation: hashsig.c:git_atomic32_set
Unexecuted instantiation: ident.c:git_atomic32_set
Unexecuted instantiation: index.c:git_atomic32_set
Unexecuted instantiation: index_map.c:git_atomic32_set
Unexecuted instantiation: indexer.c:git_atomic32_set
Unexecuted instantiation: iterator.c:git_atomic32_set
Unexecuted instantiation: mailmap.c:git_atomic32_set
Unexecuted instantiation: merge.c:git_atomic32_set
Unexecuted instantiation: object.c:git_atomic32_set
Unexecuted instantiation: object_api.c:git_atomic32_set
Unexecuted instantiation: oidarray.c:git_atomic32_set
Unexecuted instantiation: pack-objects.c:git_atomic32_set
Unexecuted instantiation: parse.c:git_atomic32_set
Unexecuted instantiation: patch.c:git_atomic32_set
Unexecuted instantiation: patch_generate.c:git_atomic32_set
Unexecuted instantiation: path.c:git_atomic32_set
Unexecuted instantiation: pathspec.c:git_atomic32_set
Unexecuted instantiation: push.c:git_atomic32_set
Unexecuted instantiation: refdb.c:git_atomic32_set
Unexecuted instantiation: refdb_fs.c:git_atomic32_set
Unexecuted instantiation: reflog.c:git_atomic32_set
Unexecuted instantiation: refs.c:git_atomic32_set
Unexecuted instantiation: refspec.c:git_atomic32_set
Unexecuted instantiation: remote.c:git_atomic32_set
Unexecuted instantiation: signature.c:git_atomic32_set
Unexecuted instantiation: tls.c:git_atomic32_set
Unexecuted instantiation: trace.c:git_atomic32_set
Unexecuted instantiation: transaction.c:git_atomic32_set
Unexecuted instantiation: transport.c:git_atomic32_set
Unexecuted instantiation: auth.c:git_atomic32_set
Unexecuted instantiation: credential.c:git_atomic32_set
Unexecuted instantiation: git.c:git_atomic32_set
Unexecuted instantiation: local.c:git_atomic32_set
Unexecuted instantiation: smart.c:git_atomic32_set
Unexecuted instantiation: smart_pkt.c:git_atomic32_set
Unexecuted instantiation: tree-cache.c:git_atomic32_set
Unexecuted instantiation: sortedcache.c:git_atomic32_set
Unexecuted instantiation: tsort.c:git_atomic32_set
Unexecuted instantiation: utf8.c:git_atomic32_set
Unexecuted instantiation: varint.c:git_atomic32_set
Unexecuted instantiation: crlf.c:git_atomic32_set
Unexecuted instantiation: diff_file.c:git_atomic32_set
Unexecuted instantiation: diff_stats.c:git_atomic32_set
Unexecuted instantiation: diff_xdiff.c:git_atomic32_set
Unexecuted instantiation: fetch.c:git_atomic32_set
Unexecuted instantiation: fetchhead.c:git_atomic32_set
Unexecuted instantiation: graph.c:git_atomic32_set
Unexecuted instantiation: ignore.c:git_atomic32_set
Unexecuted instantiation: proxy.c:git_atomic32_set
92
93
/*
94
 * Atomically increments the contents of *a by 1, and stores the result back into *a.
95
 * @return the result of the operation.
96
 */
97
GIT_INLINE(int) git_atomic32_inc(git_atomic32 *a)
98
20
{
99
#if defined(GIT_WIN32)
100
  return InterlockedIncrement(&a->val);
101
#elif defined(GIT_BUILTIN_ATOMIC)
102
  return __atomic_add_fetch(&a->val, 1, __ATOMIC_SEQ_CST);
103
#elif defined(GIT_BUILTIN_SYNC)
104
  return __sync_add_and_fetch(&a->val, 1);
105
#else
106
# error "Unsupported architecture for atomic operations"
107
#endif
108
20
}
Unexecuted instantiation: midx_fuzzer.c:git_atomic32_inc
Unexecuted instantiation: fuzzer_utils.c:git_atomic32_inc
Unexecuted instantiation: errors.c:git_atomic32_inc
Unexecuted instantiation: hash.c:git_atomic32_inc
runtime.c:git_atomic32_inc
Line
Count
Source
98
20
{
99
#if defined(GIT_WIN32)
100
  return InterlockedIncrement(&a->val);
101
#elif defined(GIT_BUILTIN_ATOMIC)
102
  return __atomic_add_fetch(&a->val, 1, __ATOMIC_SEQ_CST);
103
#elif defined(GIT_BUILTIN_SYNC)
104
  return __sync_add_and_fetch(&a->val, 1);
105
#else
106
# error "Unsupported architecture for atomic operations"
107
#endif
108
20
}
Unexecuted instantiation: str.c:git_atomic32_inc
Unexecuted instantiation: thread.c:git_atomic32_inc
Unexecuted instantiation: util.c:git_atomic32_inc
Unexecuted instantiation: collisiondetect.c:git_atomic32_inc
Unexecuted instantiation: sha1.c:git_atomic32_inc
Unexecuted instantiation: ubc_check.c:git_atomic32_inc
Unexecuted instantiation: builtin.c:git_atomic32_inc
Unexecuted instantiation: libgit2.c:git_atomic32_inc
Unexecuted instantiation: merge_driver.c:git_atomic32_inc
Unexecuted instantiation: merge_file.c:git_atomic32_inc
Unexecuted instantiation: midx.c:git_atomic32_inc
Unexecuted instantiation: mwindow.c:git_atomic32_inc
Unexecuted instantiation: odb.c:git_atomic32_inc
Unexecuted instantiation: odb_loose.c:git_atomic32_inc
Unexecuted instantiation: odb_pack.c:git_atomic32_inc
Unexecuted instantiation: oid.c:git_atomic32_inc
Unexecuted instantiation: pack.c:git_atomic32_inc
Unexecuted instantiation: repository.c:git_atomic32_inc
Unexecuted instantiation: revparse.c:git_atomic32_inc
Unexecuted instantiation: revwalk.c:git_atomic32_inc
Unexecuted instantiation: settings.c:git_atomic32_inc
Unexecuted instantiation: strarray.c:git_atomic32_inc
Unexecuted instantiation: mbedtls.c:git_atomic32_inc
Unexecuted instantiation: openssl.c:git_atomic32_inc
Unexecuted instantiation: registry.c:git_atomic32_inc
Unexecuted instantiation: socket.c:git_atomic32_inc
Unexecuted instantiation: submodule.c:git_atomic32_inc
Unexecuted instantiation: sysdir.c:git_atomic32_inc
Unexecuted instantiation: tag.c:git_atomic32_inc
Unexecuted instantiation: http.c:git_atomic32_inc
Unexecuted instantiation: httpclient.c:git_atomic32_inc
Unexecuted instantiation: httpparser.c:git_atomic32_inc
Unexecuted instantiation: smart_protocol.c:git_atomic32_inc
Unexecuted instantiation: ssh_libssh2.c:git_atomic32_inc
Unexecuted instantiation: tree.c:git_atomic32_inc
Unexecuted instantiation: worktree.c:git_atomic32_inc
Unexecuted instantiation: alloc.c:git_atomic32_inc
Unexecuted instantiation: failalloc.c:git_atomic32_inc
Unexecuted instantiation: stdalloc.c:git_atomic32_inc
Unexecuted instantiation: date.c:git_atomic32_inc
Unexecuted instantiation: filebuf.c:git_atomic32_inc
Unexecuted instantiation: fs_path.c:git_atomic32_inc
Unexecuted instantiation: futils.c:git_atomic32_inc
Unexecuted instantiation: net.c:git_atomic32_inc
Unexecuted instantiation: pool.c:git_atomic32_inc
Unexecuted instantiation: posix.c:git_atomic32_inc
Unexecuted instantiation: pqueue.c:git_atomic32_inc
Unexecuted instantiation: rand.c:git_atomic32_inc
Unexecuted instantiation: regexp.c:git_atomic32_inc
Unexecuted instantiation: vector.c:git_atomic32_inc
Unexecuted instantiation: wildmatch.c:git_atomic32_inc
Unexecuted instantiation: zstream.c:git_atomic32_inc
Unexecuted instantiation: map.c:git_atomic32_inc
Unexecuted instantiation: realpath.c:git_atomic32_inc
Unexecuted instantiation: annotated_commit.c:git_atomic32_inc
Unexecuted instantiation: attr.c:git_atomic32_inc
Unexecuted instantiation: attr_file.c:git_atomic32_inc
Unexecuted instantiation: attrcache.c:git_atomic32_inc
Unexecuted instantiation: blob.c:git_atomic32_inc
Unexecuted instantiation: branch.c:git_atomic32_inc
Unexecuted instantiation: buf.c:git_atomic32_inc
Unexecuted instantiation: cache.c:git_atomic32_inc
Unexecuted instantiation: checkout.c:git_atomic32_inc
Unexecuted instantiation: clone.c:git_atomic32_inc
Unexecuted instantiation: commit.c:git_atomic32_inc
Unexecuted instantiation: commit_graph.c:git_atomic32_inc
Unexecuted instantiation: commit_list.c:git_atomic32_inc
Unexecuted instantiation: config.c:git_atomic32_inc
Unexecuted instantiation: config_cache.c:git_atomic32_inc
Unexecuted instantiation: config_file.c:git_atomic32_inc
Unexecuted instantiation: config_list.c:git_atomic32_inc
Unexecuted instantiation: config_parse.c:git_atomic32_inc
Unexecuted instantiation: config_snapshot.c:git_atomic32_inc
Unexecuted instantiation: delta.c:git_atomic32_inc
Unexecuted instantiation: diff.c:git_atomic32_inc
Unexecuted instantiation: diff_driver.c:git_atomic32_inc
Unexecuted instantiation: diff_generate.c:git_atomic32_inc
Unexecuted instantiation: diff_print.c:git_atomic32_inc
Unexecuted instantiation: diff_tform.c:git_atomic32_inc
Unexecuted instantiation: email.c:git_atomic32_inc
Unexecuted instantiation: filter.c:git_atomic32_inc
Unexecuted instantiation: grafts.c:git_atomic32_inc
Unexecuted instantiation: hashsig.c:git_atomic32_inc
Unexecuted instantiation: ident.c:git_atomic32_inc
Unexecuted instantiation: index.c:git_atomic32_inc
Unexecuted instantiation: index_map.c:git_atomic32_inc
Unexecuted instantiation: indexer.c:git_atomic32_inc
Unexecuted instantiation: iterator.c:git_atomic32_inc
Unexecuted instantiation: mailmap.c:git_atomic32_inc
Unexecuted instantiation: merge.c:git_atomic32_inc
Unexecuted instantiation: object.c:git_atomic32_inc
Unexecuted instantiation: object_api.c:git_atomic32_inc
Unexecuted instantiation: oidarray.c:git_atomic32_inc
Unexecuted instantiation: pack-objects.c:git_atomic32_inc
Unexecuted instantiation: parse.c:git_atomic32_inc
Unexecuted instantiation: patch.c:git_atomic32_inc
Unexecuted instantiation: patch_generate.c:git_atomic32_inc
Unexecuted instantiation: path.c:git_atomic32_inc
Unexecuted instantiation: pathspec.c:git_atomic32_inc
Unexecuted instantiation: push.c:git_atomic32_inc
Unexecuted instantiation: refdb.c:git_atomic32_inc
Unexecuted instantiation: refdb_fs.c:git_atomic32_inc
Unexecuted instantiation: reflog.c:git_atomic32_inc
Unexecuted instantiation: refs.c:git_atomic32_inc
Unexecuted instantiation: refspec.c:git_atomic32_inc
Unexecuted instantiation: remote.c:git_atomic32_inc
Unexecuted instantiation: signature.c:git_atomic32_inc
Unexecuted instantiation: tls.c:git_atomic32_inc
Unexecuted instantiation: trace.c:git_atomic32_inc
Unexecuted instantiation: transaction.c:git_atomic32_inc
Unexecuted instantiation: transport.c:git_atomic32_inc
Unexecuted instantiation: auth.c:git_atomic32_inc
Unexecuted instantiation: credential.c:git_atomic32_inc
Unexecuted instantiation: git.c:git_atomic32_inc
Unexecuted instantiation: local.c:git_atomic32_inc
Unexecuted instantiation: smart.c:git_atomic32_inc
Unexecuted instantiation: smart_pkt.c:git_atomic32_inc
Unexecuted instantiation: tree-cache.c:git_atomic32_inc
Unexecuted instantiation: sortedcache.c:git_atomic32_inc
Unexecuted instantiation: tsort.c:git_atomic32_inc
Unexecuted instantiation: utf8.c:git_atomic32_inc
Unexecuted instantiation: varint.c:git_atomic32_inc
Unexecuted instantiation: crlf.c:git_atomic32_inc
Unexecuted instantiation: diff_file.c:git_atomic32_inc
Unexecuted instantiation: diff_stats.c:git_atomic32_inc
Unexecuted instantiation: diff_xdiff.c:git_atomic32_inc
Unexecuted instantiation: fetch.c:git_atomic32_inc
Unexecuted instantiation: fetchhead.c:git_atomic32_inc
Unexecuted instantiation: graph.c:git_atomic32_inc
Unexecuted instantiation: ignore.c:git_atomic32_inc
Unexecuted instantiation: proxy.c:git_atomic32_inc
109
110
/*
111
 * Atomically adds the contents of *a and addend, and stores the result back into *a.
112
 * @return the result of the operation.
113
 */
114
GIT_INLINE(int) git_atomic32_add(git_atomic32 *a, int32_t addend)
115
0
{
116
0
#if defined(GIT_WIN32)
117
0
  return InterlockedAdd(&a->val, addend);
118
0
#elif defined(GIT_BUILTIN_ATOMIC)
119
0
  return __atomic_add_fetch(&a->val, addend, __ATOMIC_SEQ_CST);
120
0
#elif defined(GIT_BUILTIN_SYNC)
121
0
  return __sync_add_and_fetch(&a->val, addend);
122
0
#else
123
0
# error "Unsupported architecture for atomic operations"
124
0
#endif
125
0
}
Unexecuted instantiation: midx_fuzzer.c:git_atomic32_add
Unexecuted instantiation: fuzzer_utils.c:git_atomic32_add
Unexecuted instantiation: errors.c:git_atomic32_add
Unexecuted instantiation: hash.c:git_atomic32_add
Unexecuted instantiation: runtime.c:git_atomic32_add
Unexecuted instantiation: str.c:git_atomic32_add
Unexecuted instantiation: thread.c:git_atomic32_add
Unexecuted instantiation: util.c:git_atomic32_add
Unexecuted instantiation: collisiondetect.c:git_atomic32_add
Unexecuted instantiation: sha1.c:git_atomic32_add
Unexecuted instantiation: ubc_check.c:git_atomic32_add
Unexecuted instantiation: builtin.c:git_atomic32_add
Unexecuted instantiation: libgit2.c:git_atomic32_add
Unexecuted instantiation: merge_driver.c:git_atomic32_add
Unexecuted instantiation: merge_file.c:git_atomic32_add
Unexecuted instantiation: midx.c:git_atomic32_add
Unexecuted instantiation: mwindow.c:git_atomic32_add
Unexecuted instantiation: odb.c:git_atomic32_add
Unexecuted instantiation: odb_loose.c:git_atomic32_add
Unexecuted instantiation: odb_pack.c:git_atomic32_add
Unexecuted instantiation: oid.c:git_atomic32_add
Unexecuted instantiation: pack.c:git_atomic32_add
Unexecuted instantiation: repository.c:git_atomic32_add
Unexecuted instantiation: revparse.c:git_atomic32_add
Unexecuted instantiation: revwalk.c:git_atomic32_add
Unexecuted instantiation: settings.c:git_atomic32_add
Unexecuted instantiation: strarray.c:git_atomic32_add
Unexecuted instantiation: mbedtls.c:git_atomic32_add
Unexecuted instantiation: openssl.c:git_atomic32_add
Unexecuted instantiation: registry.c:git_atomic32_add
Unexecuted instantiation: socket.c:git_atomic32_add
Unexecuted instantiation: submodule.c:git_atomic32_add
Unexecuted instantiation: sysdir.c:git_atomic32_add
Unexecuted instantiation: tag.c:git_atomic32_add
Unexecuted instantiation: http.c:git_atomic32_add
Unexecuted instantiation: httpclient.c:git_atomic32_add
Unexecuted instantiation: httpparser.c:git_atomic32_add
Unexecuted instantiation: smart_protocol.c:git_atomic32_add
Unexecuted instantiation: ssh_libssh2.c:git_atomic32_add
Unexecuted instantiation: tree.c:git_atomic32_add
Unexecuted instantiation: worktree.c:git_atomic32_add
Unexecuted instantiation: alloc.c:git_atomic32_add
Unexecuted instantiation: failalloc.c:git_atomic32_add
Unexecuted instantiation: stdalloc.c:git_atomic32_add
Unexecuted instantiation: date.c:git_atomic32_add
Unexecuted instantiation: filebuf.c:git_atomic32_add
Unexecuted instantiation: fs_path.c:git_atomic32_add
Unexecuted instantiation: futils.c:git_atomic32_add
Unexecuted instantiation: net.c:git_atomic32_add
Unexecuted instantiation: pool.c:git_atomic32_add
Unexecuted instantiation: posix.c:git_atomic32_add
Unexecuted instantiation: pqueue.c:git_atomic32_add
Unexecuted instantiation: rand.c:git_atomic32_add
Unexecuted instantiation: regexp.c:git_atomic32_add
Unexecuted instantiation: vector.c:git_atomic32_add
Unexecuted instantiation: wildmatch.c:git_atomic32_add
Unexecuted instantiation: zstream.c:git_atomic32_add
Unexecuted instantiation: map.c:git_atomic32_add
Unexecuted instantiation: realpath.c:git_atomic32_add
Unexecuted instantiation: annotated_commit.c:git_atomic32_add
Unexecuted instantiation: attr.c:git_atomic32_add
Unexecuted instantiation: attr_file.c:git_atomic32_add
Unexecuted instantiation: attrcache.c:git_atomic32_add
Unexecuted instantiation: blob.c:git_atomic32_add
Unexecuted instantiation: branch.c:git_atomic32_add
Unexecuted instantiation: buf.c:git_atomic32_add
Unexecuted instantiation: cache.c:git_atomic32_add
Unexecuted instantiation: checkout.c:git_atomic32_add
Unexecuted instantiation: clone.c:git_atomic32_add
Unexecuted instantiation: commit.c:git_atomic32_add
Unexecuted instantiation: commit_graph.c:git_atomic32_add
Unexecuted instantiation: commit_list.c:git_atomic32_add
Unexecuted instantiation: config.c:git_atomic32_add
Unexecuted instantiation: config_cache.c:git_atomic32_add
Unexecuted instantiation: config_file.c:git_atomic32_add
Unexecuted instantiation: config_list.c:git_atomic32_add
Unexecuted instantiation: config_parse.c:git_atomic32_add
Unexecuted instantiation: config_snapshot.c:git_atomic32_add
Unexecuted instantiation: delta.c:git_atomic32_add
Unexecuted instantiation: diff.c:git_atomic32_add
Unexecuted instantiation: diff_driver.c:git_atomic32_add
Unexecuted instantiation: diff_generate.c:git_atomic32_add
Unexecuted instantiation: diff_print.c:git_atomic32_add
Unexecuted instantiation: diff_tform.c:git_atomic32_add
Unexecuted instantiation: email.c:git_atomic32_add
Unexecuted instantiation: filter.c:git_atomic32_add
Unexecuted instantiation: grafts.c:git_atomic32_add
Unexecuted instantiation: hashsig.c:git_atomic32_add
Unexecuted instantiation: ident.c:git_atomic32_add
Unexecuted instantiation: index.c:git_atomic32_add
Unexecuted instantiation: index_map.c:git_atomic32_add
Unexecuted instantiation: indexer.c:git_atomic32_add
Unexecuted instantiation: iterator.c:git_atomic32_add
Unexecuted instantiation: mailmap.c:git_atomic32_add
Unexecuted instantiation: merge.c:git_atomic32_add
Unexecuted instantiation: object.c:git_atomic32_add
Unexecuted instantiation: object_api.c:git_atomic32_add
Unexecuted instantiation: oidarray.c:git_atomic32_add
Unexecuted instantiation: pack-objects.c:git_atomic32_add
Unexecuted instantiation: parse.c:git_atomic32_add
Unexecuted instantiation: patch.c:git_atomic32_add
Unexecuted instantiation: patch_generate.c:git_atomic32_add
Unexecuted instantiation: path.c:git_atomic32_add
Unexecuted instantiation: pathspec.c:git_atomic32_add
Unexecuted instantiation: push.c:git_atomic32_add
Unexecuted instantiation: refdb.c:git_atomic32_add
Unexecuted instantiation: refdb_fs.c:git_atomic32_add
Unexecuted instantiation: reflog.c:git_atomic32_add
Unexecuted instantiation: refs.c:git_atomic32_add
Unexecuted instantiation: refspec.c:git_atomic32_add
Unexecuted instantiation: remote.c:git_atomic32_add
Unexecuted instantiation: signature.c:git_atomic32_add
Unexecuted instantiation: tls.c:git_atomic32_add
Unexecuted instantiation: trace.c:git_atomic32_add
Unexecuted instantiation: transaction.c:git_atomic32_add
Unexecuted instantiation: transport.c:git_atomic32_add
Unexecuted instantiation: auth.c:git_atomic32_add
Unexecuted instantiation: credential.c:git_atomic32_add
Unexecuted instantiation: git.c:git_atomic32_add
Unexecuted instantiation: local.c:git_atomic32_add
Unexecuted instantiation: smart.c:git_atomic32_add
Unexecuted instantiation: smart_pkt.c:git_atomic32_add
Unexecuted instantiation: tree-cache.c:git_atomic32_add
Unexecuted instantiation: sortedcache.c:git_atomic32_add
Unexecuted instantiation: tsort.c:git_atomic32_add
Unexecuted instantiation: utf8.c:git_atomic32_add
Unexecuted instantiation: varint.c:git_atomic32_add
Unexecuted instantiation: crlf.c:git_atomic32_add
Unexecuted instantiation: diff_file.c:git_atomic32_add
Unexecuted instantiation: diff_stats.c:git_atomic32_add
Unexecuted instantiation: diff_xdiff.c:git_atomic32_add
Unexecuted instantiation: fetch.c:git_atomic32_add
Unexecuted instantiation: fetchhead.c:git_atomic32_add
Unexecuted instantiation: graph.c:git_atomic32_add
Unexecuted instantiation: ignore.c:git_atomic32_add
Unexecuted instantiation: proxy.c:git_atomic32_add
126
127
/*
128
 * Atomically decrements the contents of *a by 1, and stores the result back into *a.
129
 * @return the result of the operation.
130
 */
131
GIT_INLINE(int) git_atomic32_dec(git_atomic32 *a)
132
0
{
133
#if defined(GIT_WIN32)
134
  return InterlockedDecrement(&a->val);
135
#elif defined(GIT_BUILTIN_ATOMIC)
136
  return __atomic_sub_fetch(&a->val, 1, __ATOMIC_SEQ_CST);
137
#elif defined(GIT_BUILTIN_SYNC)
138
  return __sync_sub_and_fetch(&a->val, 1);
139
#else
140
# error "Unsupported architecture for atomic operations"
141
#endif
142
0
}
Unexecuted instantiation: midx_fuzzer.c:git_atomic32_dec
Unexecuted instantiation: fuzzer_utils.c:git_atomic32_dec
Unexecuted instantiation: errors.c:git_atomic32_dec
Unexecuted instantiation: hash.c:git_atomic32_dec
Unexecuted instantiation: runtime.c:git_atomic32_dec
Unexecuted instantiation: str.c:git_atomic32_dec
Unexecuted instantiation: thread.c:git_atomic32_dec
Unexecuted instantiation: util.c:git_atomic32_dec
Unexecuted instantiation: collisiondetect.c:git_atomic32_dec
Unexecuted instantiation: sha1.c:git_atomic32_dec
Unexecuted instantiation: ubc_check.c:git_atomic32_dec
Unexecuted instantiation: builtin.c:git_atomic32_dec
Unexecuted instantiation: libgit2.c:git_atomic32_dec
Unexecuted instantiation: merge_driver.c:git_atomic32_dec
Unexecuted instantiation: merge_file.c:git_atomic32_dec
Unexecuted instantiation: midx.c:git_atomic32_dec
Unexecuted instantiation: mwindow.c:git_atomic32_dec
Unexecuted instantiation: odb.c:git_atomic32_dec
Unexecuted instantiation: odb_loose.c:git_atomic32_dec
Unexecuted instantiation: odb_pack.c:git_atomic32_dec
Unexecuted instantiation: oid.c:git_atomic32_dec
Unexecuted instantiation: pack.c:git_atomic32_dec
Unexecuted instantiation: repository.c:git_atomic32_dec
Unexecuted instantiation: revparse.c:git_atomic32_dec
Unexecuted instantiation: revwalk.c:git_atomic32_dec
Unexecuted instantiation: settings.c:git_atomic32_dec
Unexecuted instantiation: strarray.c:git_atomic32_dec
Unexecuted instantiation: mbedtls.c:git_atomic32_dec
Unexecuted instantiation: openssl.c:git_atomic32_dec
Unexecuted instantiation: registry.c:git_atomic32_dec
Unexecuted instantiation: socket.c:git_atomic32_dec
Unexecuted instantiation: submodule.c:git_atomic32_dec
Unexecuted instantiation: sysdir.c:git_atomic32_dec
Unexecuted instantiation: tag.c:git_atomic32_dec
Unexecuted instantiation: http.c:git_atomic32_dec
Unexecuted instantiation: httpclient.c:git_atomic32_dec
Unexecuted instantiation: httpparser.c:git_atomic32_dec
Unexecuted instantiation: smart_protocol.c:git_atomic32_dec
Unexecuted instantiation: ssh_libssh2.c:git_atomic32_dec
Unexecuted instantiation: tree.c:git_atomic32_dec
Unexecuted instantiation: worktree.c:git_atomic32_dec
Unexecuted instantiation: alloc.c:git_atomic32_dec
Unexecuted instantiation: failalloc.c:git_atomic32_dec
Unexecuted instantiation: stdalloc.c:git_atomic32_dec
Unexecuted instantiation: date.c:git_atomic32_dec
Unexecuted instantiation: filebuf.c:git_atomic32_dec
Unexecuted instantiation: fs_path.c:git_atomic32_dec
Unexecuted instantiation: futils.c:git_atomic32_dec
Unexecuted instantiation: net.c:git_atomic32_dec
Unexecuted instantiation: pool.c:git_atomic32_dec
Unexecuted instantiation: posix.c:git_atomic32_dec
Unexecuted instantiation: pqueue.c:git_atomic32_dec
Unexecuted instantiation: rand.c:git_atomic32_dec
Unexecuted instantiation: regexp.c:git_atomic32_dec
Unexecuted instantiation: vector.c:git_atomic32_dec
Unexecuted instantiation: wildmatch.c:git_atomic32_dec
Unexecuted instantiation: zstream.c:git_atomic32_dec
Unexecuted instantiation: map.c:git_atomic32_dec
Unexecuted instantiation: realpath.c:git_atomic32_dec
Unexecuted instantiation: annotated_commit.c:git_atomic32_dec
Unexecuted instantiation: attr.c:git_atomic32_dec
Unexecuted instantiation: attr_file.c:git_atomic32_dec
Unexecuted instantiation: attrcache.c:git_atomic32_dec
Unexecuted instantiation: blob.c:git_atomic32_dec
Unexecuted instantiation: branch.c:git_atomic32_dec
Unexecuted instantiation: buf.c:git_atomic32_dec
Unexecuted instantiation: cache.c:git_atomic32_dec
Unexecuted instantiation: checkout.c:git_atomic32_dec
Unexecuted instantiation: clone.c:git_atomic32_dec
Unexecuted instantiation: commit.c:git_atomic32_dec
Unexecuted instantiation: commit_graph.c:git_atomic32_dec
Unexecuted instantiation: commit_list.c:git_atomic32_dec
Unexecuted instantiation: config.c:git_atomic32_dec
Unexecuted instantiation: config_cache.c:git_atomic32_dec
Unexecuted instantiation: config_file.c:git_atomic32_dec
Unexecuted instantiation: config_list.c:git_atomic32_dec
Unexecuted instantiation: config_parse.c:git_atomic32_dec
Unexecuted instantiation: config_snapshot.c:git_atomic32_dec
Unexecuted instantiation: delta.c:git_atomic32_dec
Unexecuted instantiation: diff.c:git_atomic32_dec
Unexecuted instantiation: diff_driver.c:git_atomic32_dec
Unexecuted instantiation: diff_generate.c:git_atomic32_dec
Unexecuted instantiation: diff_print.c:git_atomic32_dec
Unexecuted instantiation: diff_tform.c:git_atomic32_dec
Unexecuted instantiation: email.c:git_atomic32_dec
Unexecuted instantiation: filter.c:git_atomic32_dec
Unexecuted instantiation: grafts.c:git_atomic32_dec
Unexecuted instantiation: hashsig.c:git_atomic32_dec
Unexecuted instantiation: ident.c:git_atomic32_dec
Unexecuted instantiation: index.c:git_atomic32_dec
Unexecuted instantiation: index_map.c:git_atomic32_dec
Unexecuted instantiation: indexer.c:git_atomic32_dec
Unexecuted instantiation: iterator.c:git_atomic32_dec
Unexecuted instantiation: mailmap.c:git_atomic32_dec
Unexecuted instantiation: merge.c:git_atomic32_dec
Unexecuted instantiation: object.c:git_atomic32_dec
Unexecuted instantiation: object_api.c:git_atomic32_dec
Unexecuted instantiation: oidarray.c:git_atomic32_dec
Unexecuted instantiation: pack-objects.c:git_atomic32_dec
Unexecuted instantiation: parse.c:git_atomic32_dec
Unexecuted instantiation: patch.c:git_atomic32_dec
Unexecuted instantiation: patch_generate.c:git_atomic32_dec
Unexecuted instantiation: path.c:git_atomic32_dec
Unexecuted instantiation: pathspec.c:git_atomic32_dec
Unexecuted instantiation: push.c:git_atomic32_dec
Unexecuted instantiation: refdb.c:git_atomic32_dec
Unexecuted instantiation: refdb_fs.c:git_atomic32_dec
Unexecuted instantiation: reflog.c:git_atomic32_dec
Unexecuted instantiation: refs.c:git_atomic32_dec
Unexecuted instantiation: refspec.c:git_atomic32_dec
Unexecuted instantiation: remote.c:git_atomic32_dec
Unexecuted instantiation: signature.c:git_atomic32_dec
Unexecuted instantiation: tls.c:git_atomic32_dec
Unexecuted instantiation: trace.c:git_atomic32_dec
Unexecuted instantiation: transaction.c:git_atomic32_dec
Unexecuted instantiation: transport.c:git_atomic32_dec
Unexecuted instantiation: auth.c:git_atomic32_dec
Unexecuted instantiation: credential.c:git_atomic32_dec
Unexecuted instantiation: git.c:git_atomic32_dec
Unexecuted instantiation: local.c:git_atomic32_dec
Unexecuted instantiation: smart.c:git_atomic32_dec
Unexecuted instantiation: smart_pkt.c:git_atomic32_dec
Unexecuted instantiation: tree-cache.c:git_atomic32_dec
Unexecuted instantiation: sortedcache.c:git_atomic32_dec
Unexecuted instantiation: tsort.c:git_atomic32_dec
Unexecuted instantiation: utf8.c:git_atomic32_dec
Unexecuted instantiation: varint.c:git_atomic32_dec
Unexecuted instantiation: crlf.c:git_atomic32_dec
Unexecuted instantiation: diff_file.c:git_atomic32_dec
Unexecuted instantiation: diff_stats.c:git_atomic32_dec
Unexecuted instantiation: diff_xdiff.c:git_atomic32_dec
Unexecuted instantiation: fetch.c:git_atomic32_dec
Unexecuted instantiation: fetchhead.c:git_atomic32_dec
Unexecuted instantiation: graph.c:git_atomic32_dec
Unexecuted instantiation: ignore.c:git_atomic32_dec
Unexecuted instantiation: proxy.c:git_atomic32_dec
143
144
/*
145
 * Atomically gets the contents of *a.
146
 * @return the contents of *a.
147
 */
148
GIT_INLINE(int) git_atomic32_get(git_atomic32 *a)
149
0
{
150
#if defined(GIT_WIN32)
151
  return (int)InterlockedCompareExchange(&a->val, 0, 0);
152
#elif defined(GIT_BUILTIN_ATOMIC)
153
  return __atomic_load_n(&a->val, __ATOMIC_SEQ_CST);
154
#elif defined(GIT_BUILTIN_SYNC)
155
  return __sync_val_compare_and_swap(&a->val, 0, 0);
156
#else
157
# error "Unsupported architecture for atomic operations"
158
#endif
159
0
}
Unexecuted instantiation: midx_fuzzer.c:git_atomic32_get
Unexecuted instantiation: fuzzer_utils.c:git_atomic32_get
Unexecuted instantiation: errors.c:git_atomic32_get
Unexecuted instantiation: hash.c:git_atomic32_get
Unexecuted instantiation: runtime.c:git_atomic32_get
Unexecuted instantiation: str.c:git_atomic32_get
Unexecuted instantiation: thread.c:git_atomic32_get
Unexecuted instantiation: util.c:git_atomic32_get
Unexecuted instantiation: collisiondetect.c:git_atomic32_get
Unexecuted instantiation: sha1.c:git_atomic32_get
Unexecuted instantiation: ubc_check.c:git_atomic32_get
Unexecuted instantiation: builtin.c:git_atomic32_get
Unexecuted instantiation: libgit2.c:git_atomic32_get
Unexecuted instantiation: merge_driver.c:git_atomic32_get
Unexecuted instantiation: merge_file.c:git_atomic32_get
Unexecuted instantiation: midx.c:git_atomic32_get
Unexecuted instantiation: mwindow.c:git_atomic32_get
Unexecuted instantiation: odb.c:git_atomic32_get
Unexecuted instantiation: odb_loose.c:git_atomic32_get
Unexecuted instantiation: odb_pack.c:git_atomic32_get
Unexecuted instantiation: oid.c:git_atomic32_get
Unexecuted instantiation: pack.c:git_atomic32_get
Unexecuted instantiation: repository.c:git_atomic32_get
Unexecuted instantiation: revparse.c:git_atomic32_get
Unexecuted instantiation: revwalk.c:git_atomic32_get
Unexecuted instantiation: settings.c:git_atomic32_get
Unexecuted instantiation: strarray.c:git_atomic32_get
Unexecuted instantiation: mbedtls.c:git_atomic32_get
Unexecuted instantiation: openssl.c:git_atomic32_get
Unexecuted instantiation: registry.c:git_atomic32_get
Unexecuted instantiation: socket.c:git_atomic32_get
Unexecuted instantiation: submodule.c:git_atomic32_get
Unexecuted instantiation: sysdir.c:git_atomic32_get
Unexecuted instantiation: tag.c:git_atomic32_get
Unexecuted instantiation: http.c:git_atomic32_get
Unexecuted instantiation: httpclient.c:git_atomic32_get
Unexecuted instantiation: httpparser.c:git_atomic32_get
Unexecuted instantiation: smart_protocol.c:git_atomic32_get
Unexecuted instantiation: ssh_libssh2.c:git_atomic32_get
Unexecuted instantiation: tree.c:git_atomic32_get
Unexecuted instantiation: worktree.c:git_atomic32_get
Unexecuted instantiation: alloc.c:git_atomic32_get
Unexecuted instantiation: failalloc.c:git_atomic32_get
Unexecuted instantiation: stdalloc.c:git_atomic32_get
Unexecuted instantiation: date.c:git_atomic32_get
Unexecuted instantiation: filebuf.c:git_atomic32_get
Unexecuted instantiation: fs_path.c:git_atomic32_get
Unexecuted instantiation: futils.c:git_atomic32_get
Unexecuted instantiation: net.c:git_atomic32_get
Unexecuted instantiation: pool.c:git_atomic32_get
Unexecuted instantiation: posix.c:git_atomic32_get
Unexecuted instantiation: pqueue.c:git_atomic32_get
Unexecuted instantiation: rand.c:git_atomic32_get
Unexecuted instantiation: regexp.c:git_atomic32_get
Unexecuted instantiation: vector.c:git_atomic32_get
Unexecuted instantiation: wildmatch.c:git_atomic32_get
Unexecuted instantiation: zstream.c:git_atomic32_get
Unexecuted instantiation: map.c:git_atomic32_get
Unexecuted instantiation: realpath.c:git_atomic32_get
Unexecuted instantiation: annotated_commit.c:git_atomic32_get
Unexecuted instantiation: attr.c:git_atomic32_get
Unexecuted instantiation: attr_file.c:git_atomic32_get
Unexecuted instantiation: attrcache.c:git_atomic32_get
Unexecuted instantiation: blob.c:git_atomic32_get
Unexecuted instantiation: branch.c:git_atomic32_get
Unexecuted instantiation: buf.c:git_atomic32_get
Unexecuted instantiation: cache.c:git_atomic32_get
Unexecuted instantiation: checkout.c:git_atomic32_get
Unexecuted instantiation: clone.c:git_atomic32_get
Unexecuted instantiation: commit.c:git_atomic32_get
Unexecuted instantiation: commit_graph.c:git_atomic32_get
Unexecuted instantiation: commit_list.c:git_atomic32_get
Unexecuted instantiation: config.c:git_atomic32_get
Unexecuted instantiation: config_cache.c:git_atomic32_get
Unexecuted instantiation: config_file.c:git_atomic32_get
Unexecuted instantiation: config_list.c:git_atomic32_get
Unexecuted instantiation: config_parse.c:git_atomic32_get
Unexecuted instantiation: config_snapshot.c:git_atomic32_get
Unexecuted instantiation: delta.c:git_atomic32_get
Unexecuted instantiation: diff.c:git_atomic32_get
Unexecuted instantiation: diff_driver.c:git_atomic32_get
Unexecuted instantiation: diff_generate.c:git_atomic32_get
Unexecuted instantiation: diff_print.c:git_atomic32_get
Unexecuted instantiation: diff_tform.c:git_atomic32_get
Unexecuted instantiation: email.c:git_atomic32_get
Unexecuted instantiation: filter.c:git_atomic32_get
Unexecuted instantiation: grafts.c:git_atomic32_get
Unexecuted instantiation: hashsig.c:git_atomic32_get
Unexecuted instantiation: ident.c:git_atomic32_get
Unexecuted instantiation: index.c:git_atomic32_get
Unexecuted instantiation: index_map.c:git_atomic32_get
Unexecuted instantiation: indexer.c:git_atomic32_get
Unexecuted instantiation: iterator.c:git_atomic32_get
Unexecuted instantiation: mailmap.c:git_atomic32_get
Unexecuted instantiation: merge.c:git_atomic32_get
Unexecuted instantiation: object.c:git_atomic32_get
Unexecuted instantiation: object_api.c:git_atomic32_get
Unexecuted instantiation: oidarray.c:git_atomic32_get
Unexecuted instantiation: pack-objects.c:git_atomic32_get
Unexecuted instantiation: parse.c:git_atomic32_get
Unexecuted instantiation: patch.c:git_atomic32_get
Unexecuted instantiation: patch_generate.c:git_atomic32_get
Unexecuted instantiation: path.c:git_atomic32_get
Unexecuted instantiation: pathspec.c:git_atomic32_get
Unexecuted instantiation: push.c:git_atomic32_get
Unexecuted instantiation: refdb.c:git_atomic32_get
Unexecuted instantiation: refdb_fs.c:git_atomic32_get
Unexecuted instantiation: reflog.c:git_atomic32_get
Unexecuted instantiation: refs.c:git_atomic32_get
Unexecuted instantiation: refspec.c:git_atomic32_get
Unexecuted instantiation: remote.c:git_atomic32_get
Unexecuted instantiation: signature.c:git_atomic32_get
Unexecuted instantiation: tls.c:git_atomic32_get
Unexecuted instantiation: trace.c:git_atomic32_get
Unexecuted instantiation: transaction.c:git_atomic32_get
Unexecuted instantiation: transport.c:git_atomic32_get
Unexecuted instantiation: auth.c:git_atomic32_get
Unexecuted instantiation: credential.c:git_atomic32_get
Unexecuted instantiation: git.c:git_atomic32_get
Unexecuted instantiation: local.c:git_atomic32_get
Unexecuted instantiation: smart.c:git_atomic32_get
Unexecuted instantiation: smart_pkt.c:git_atomic32_get
Unexecuted instantiation: tree-cache.c:git_atomic32_get
Unexecuted instantiation: sortedcache.c:git_atomic32_get
Unexecuted instantiation: tsort.c:git_atomic32_get
Unexecuted instantiation: utf8.c:git_atomic32_get
Unexecuted instantiation: varint.c:git_atomic32_get
Unexecuted instantiation: crlf.c:git_atomic32_get
Unexecuted instantiation: diff_file.c:git_atomic32_get
Unexecuted instantiation: diff_stats.c:git_atomic32_get
Unexecuted instantiation: diff_xdiff.c:git_atomic32_get
Unexecuted instantiation: fetch.c:git_atomic32_get
Unexecuted instantiation: fetchhead.c:git_atomic32_get
Unexecuted instantiation: graph.c:git_atomic32_get
Unexecuted instantiation: ignore.c:git_atomic32_get
Unexecuted instantiation: proxy.c:git_atomic32_get
160
161
GIT_INLINE(void *) git_atomic__compare_and_swap(
162
  void * volatile *ptr, void *oldval, void *newval)
163
0
{
164
#if defined(GIT_WIN32)
165
  return InterlockedCompareExchangePointer((volatile PVOID *)ptr, newval, oldval);
166
#elif defined(GIT_BUILTIN_ATOMIC)
167
  void *foundval = oldval;
168
0
  __atomic_compare_exchange(ptr, &foundval, &newval, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
169
0
  return foundval;
170
#elif defined(GIT_BUILTIN_SYNC)
171
  return __sync_val_compare_and_swap(ptr, oldval, newval);
172
#else
173
# error "Unsupported architecture for atomic operations"
174
#endif
175
0
}
Unexecuted instantiation: midx_fuzzer.c:git_atomic__compare_and_swap
Unexecuted instantiation: fuzzer_utils.c:git_atomic__compare_and_swap
Unexecuted instantiation: errors.c:git_atomic__compare_and_swap
Unexecuted instantiation: hash.c:git_atomic__compare_and_swap
Unexecuted instantiation: runtime.c:git_atomic__compare_and_swap
Unexecuted instantiation: str.c:git_atomic__compare_and_swap
Unexecuted instantiation: thread.c:git_atomic__compare_and_swap
Unexecuted instantiation: util.c:git_atomic__compare_and_swap
Unexecuted instantiation: collisiondetect.c:git_atomic__compare_and_swap
Unexecuted instantiation: sha1.c:git_atomic__compare_and_swap
Unexecuted instantiation: ubc_check.c:git_atomic__compare_and_swap
Unexecuted instantiation: builtin.c:git_atomic__compare_and_swap
Unexecuted instantiation: libgit2.c:git_atomic__compare_and_swap
Unexecuted instantiation: merge_driver.c:git_atomic__compare_and_swap
Unexecuted instantiation: merge_file.c:git_atomic__compare_and_swap
Unexecuted instantiation: midx.c:git_atomic__compare_and_swap
Unexecuted instantiation: mwindow.c:git_atomic__compare_and_swap
Unexecuted instantiation: odb.c:git_atomic__compare_and_swap
Unexecuted instantiation: odb_loose.c:git_atomic__compare_and_swap
Unexecuted instantiation: odb_pack.c:git_atomic__compare_and_swap
Unexecuted instantiation: oid.c:git_atomic__compare_and_swap
Unexecuted instantiation: pack.c:git_atomic__compare_and_swap
Unexecuted instantiation: repository.c:git_atomic__compare_and_swap
Unexecuted instantiation: revparse.c:git_atomic__compare_and_swap
Unexecuted instantiation: revwalk.c:git_atomic__compare_and_swap
Unexecuted instantiation: settings.c:git_atomic__compare_and_swap
Unexecuted instantiation: strarray.c:git_atomic__compare_and_swap
Unexecuted instantiation: mbedtls.c:git_atomic__compare_and_swap
Unexecuted instantiation: openssl.c:git_atomic__compare_and_swap
Unexecuted instantiation: registry.c:git_atomic__compare_and_swap
Unexecuted instantiation: socket.c:git_atomic__compare_and_swap
Unexecuted instantiation: submodule.c:git_atomic__compare_and_swap
Unexecuted instantiation: sysdir.c:git_atomic__compare_and_swap
Unexecuted instantiation: tag.c:git_atomic__compare_and_swap
Unexecuted instantiation: http.c:git_atomic__compare_and_swap
Unexecuted instantiation: httpclient.c:git_atomic__compare_and_swap
Unexecuted instantiation: httpparser.c:git_atomic__compare_and_swap
Unexecuted instantiation: smart_protocol.c:git_atomic__compare_and_swap
Unexecuted instantiation: ssh_libssh2.c:git_atomic__compare_and_swap
Unexecuted instantiation: tree.c:git_atomic__compare_and_swap
Unexecuted instantiation: worktree.c:git_atomic__compare_and_swap
Unexecuted instantiation: alloc.c:git_atomic__compare_and_swap
Unexecuted instantiation: failalloc.c:git_atomic__compare_and_swap
Unexecuted instantiation: stdalloc.c:git_atomic__compare_and_swap
Unexecuted instantiation: date.c:git_atomic__compare_and_swap
Unexecuted instantiation: filebuf.c:git_atomic__compare_and_swap
Unexecuted instantiation: fs_path.c:git_atomic__compare_and_swap
Unexecuted instantiation: futils.c:git_atomic__compare_and_swap
Unexecuted instantiation: net.c:git_atomic__compare_and_swap
Unexecuted instantiation: pool.c:git_atomic__compare_and_swap
Unexecuted instantiation: posix.c:git_atomic__compare_and_swap
Unexecuted instantiation: pqueue.c:git_atomic__compare_and_swap
Unexecuted instantiation: rand.c:git_atomic__compare_and_swap
Unexecuted instantiation: regexp.c:git_atomic__compare_and_swap
Unexecuted instantiation: vector.c:git_atomic__compare_and_swap
Unexecuted instantiation: wildmatch.c:git_atomic__compare_and_swap
Unexecuted instantiation: zstream.c:git_atomic__compare_and_swap
Unexecuted instantiation: map.c:git_atomic__compare_and_swap
Unexecuted instantiation: realpath.c:git_atomic__compare_and_swap
Unexecuted instantiation: annotated_commit.c:git_atomic__compare_and_swap
Unexecuted instantiation: attr.c:git_atomic__compare_and_swap
Unexecuted instantiation: attr_file.c:git_atomic__compare_and_swap
Unexecuted instantiation: attrcache.c:git_atomic__compare_and_swap
Unexecuted instantiation: blob.c:git_atomic__compare_and_swap
Unexecuted instantiation: branch.c:git_atomic__compare_and_swap
Unexecuted instantiation: buf.c:git_atomic__compare_and_swap
Unexecuted instantiation: cache.c:git_atomic__compare_and_swap
Unexecuted instantiation: checkout.c:git_atomic__compare_and_swap
Unexecuted instantiation: clone.c:git_atomic__compare_and_swap
Unexecuted instantiation: commit.c:git_atomic__compare_and_swap
Unexecuted instantiation: commit_graph.c:git_atomic__compare_and_swap
Unexecuted instantiation: commit_list.c:git_atomic__compare_and_swap
Unexecuted instantiation: config.c:git_atomic__compare_and_swap
Unexecuted instantiation: config_cache.c:git_atomic__compare_and_swap
Unexecuted instantiation: config_file.c:git_atomic__compare_and_swap
Unexecuted instantiation: config_list.c:git_atomic__compare_and_swap
Unexecuted instantiation: config_parse.c:git_atomic__compare_and_swap
Unexecuted instantiation: config_snapshot.c:git_atomic__compare_and_swap
Unexecuted instantiation: delta.c:git_atomic__compare_and_swap
Unexecuted instantiation: diff.c:git_atomic__compare_and_swap
Unexecuted instantiation: diff_driver.c:git_atomic__compare_and_swap
Unexecuted instantiation: diff_generate.c:git_atomic__compare_and_swap
Unexecuted instantiation: diff_print.c:git_atomic__compare_and_swap
Unexecuted instantiation: diff_tform.c:git_atomic__compare_and_swap
Unexecuted instantiation: email.c:git_atomic__compare_and_swap
Unexecuted instantiation: filter.c:git_atomic__compare_and_swap
Unexecuted instantiation: grafts.c:git_atomic__compare_and_swap
Unexecuted instantiation: hashsig.c:git_atomic__compare_and_swap
Unexecuted instantiation: ident.c:git_atomic__compare_and_swap
Unexecuted instantiation: index.c:git_atomic__compare_and_swap
Unexecuted instantiation: index_map.c:git_atomic__compare_and_swap
Unexecuted instantiation: indexer.c:git_atomic__compare_and_swap
Unexecuted instantiation: iterator.c:git_atomic__compare_and_swap
Unexecuted instantiation: mailmap.c:git_atomic__compare_and_swap
Unexecuted instantiation: merge.c:git_atomic__compare_and_swap
Unexecuted instantiation: object.c:git_atomic__compare_and_swap
Unexecuted instantiation: object_api.c:git_atomic__compare_and_swap
Unexecuted instantiation: oidarray.c:git_atomic__compare_and_swap
Unexecuted instantiation: pack-objects.c:git_atomic__compare_and_swap
Unexecuted instantiation: parse.c:git_atomic__compare_and_swap
Unexecuted instantiation: patch.c:git_atomic__compare_and_swap
Unexecuted instantiation: patch_generate.c:git_atomic__compare_and_swap
Unexecuted instantiation: path.c:git_atomic__compare_and_swap
Unexecuted instantiation: pathspec.c:git_atomic__compare_and_swap
Unexecuted instantiation: push.c:git_atomic__compare_and_swap
Unexecuted instantiation: refdb.c:git_atomic__compare_and_swap
Unexecuted instantiation: refdb_fs.c:git_atomic__compare_and_swap
Unexecuted instantiation: reflog.c:git_atomic__compare_and_swap
Unexecuted instantiation: refs.c:git_atomic__compare_and_swap
Unexecuted instantiation: refspec.c:git_atomic__compare_and_swap
Unexecuted instantiation: remote.c:git_atomic__compare_and_swap
Unexecuted instantiation: signature.c:git_atomic__compare_and_swap
Unexecuted instantiation: tls.c:git_atomic__compare_and_swap
Unexecuted instantiation: trace.c:git_atomic__compare_and_swap
Unexecuted instantiation: transaction.c:git_atomic__compare_and_swap
Unexecuted instantiation: transport.c:git_atomic__compare_and_swap
Unexecuted instantiation: auth.c:git_atomic__compare_and_swap
Unexecuted instantiation: credential.c:git_atomic__compare_and_swap
Unexecuted instantiation: git.c:git_atomic__compare_and_swap
Unexecuted instantiation: local.c:git_atomic__compare_and_swap
Unexecuted instantiation: smart.c:git_atomic__compare_and_swap
Unexecuted instantiation: smart_pkt.c:git_atomic__compare_and_swap
Unexecuted instantiation: tree-cache.c:git_atomic__compare_and_swap
Unexecuted instantiation: sortedcache.c:git_atomic__compare_and_swap
Unexecuted instantiation: tsort.c:git_atomic__compare_and_swap
Unexecuted instantiation: utf8.c:git_atomic__compare_and_swap
Unexecuted instantiation: varint.c:git_atomic__compare_and_swap
Unexecuted instantiation: crlf.c:git_atomic__compare_and_swap
Unexecuted instantiation: diff_file.c:git_atomic__compare_and_swap
Unexecuted instantiation: diff_stats.c:git_atomic__compare_and_swap
Unexecuted instantiation: diff_xdiff.c:git_atomic__compare_and_swap
Unexecuted instantiation: fetch.c:git_atomic__compare_and_swap
Unexecuted instantiation: fetchhead.c:git_atomic__compare_and_swap
Unexecuted instantiation: graph.c:git_atomic__compare_and_swap
Unexecuted instantiation: ignore.c:git_atomic__compare_and_swap
Unexecuted instantiation: proxy.c:git_atomic__compare_and_swap
176
177
GIT_INLINE(volatile void *) git_atomic__swap(
178
  void * volatile *ptr, void *newval)
179
0
{
180
#if defined(GIT_WIN32)
181
  return InterlockedExchangePointer(ptr, newval);
182
#elif defined(GIT_BUILTIN_ATOMIC)
183
0
  void * foundval = NULL;
184
0
  __atomic_exchange(ptr, &newval, &foundval, __ATOMIC_SEQ_CST);
185
0
  return foundval;
186
#elif defined(GIT_BUILTIN_SYNC)
187
  return (volatile void *)__sync_lock_test_and_set(ptr, newval);
188
#else
189
# error "Unsupported architecture for atomic operations"
190
#endif
191
0
}
Unexecuted instantiation: midx_fuzzer.c:git_atomic__swap
Unexecuted instantiation: fuzzer_utils.c:git_atomic__swap
Unexecuted instantiation: errors.c:git_atomic__swap
Unexecuted instantiation: hash.c:git_atomic__swap
Unexecuted instantiation: runtime.c:git_atomic__swap
Unexecuted instantiation: str.c:git_atomic__swap
Unexecuted instantiation: thread.c:git_atomic__swap
Unexecuted instantiation: util.c:git_atomic__swap
Unexecuted instantiation: collisiondetect.c:git_atomic__swap
Unexecuted instantiation: sha1.c:git_atomic__swap
Unexecuted instantiation: ubc_check.c:git_atomic__swap
Unexecuted instantiation: builtin.c:git_atomic__swap
Unexecuted instantiation: libgit2.c:git_atomic__swap
Unexecuted instantiation: merge_driver.c:git_atomic__swap
Unexecuted instantiation: merge_file.c:git_atomic__swap
Unexecuted instantiation: midx.c:git_atomic__swap
Unexecuted instantiation: mwindow.c:git_atomic__swap
Unexecuted instantiation: odb.c:git_atomic__swap
Unexecuted instantiation: odb_loose.c:git_atomic__swap
Unexecuted instantiation: odb_pack.c:git_atomic__swap
Unexecuted instantiation: oid.c:git_atomic__swap
Unexecuted instantiation: pack.c:git_atomic__swap
Unexecuted instantiation: repository.c:git_atomic__swap
Unexecuted instantiation: revparse.c:git_atomic__swap
Unexecuted instantiation: revwalk.c:git_atomic__swap
Unexecuted instantiation: settings.c:git_atomic__swap
Unexecuted instantiation: strarray.c:git_atomic__swap
Unexecuted instantiation: mbedtls.c:git_atomic__swap
Unexecuted instantiation: openssl.c:git_atomic__swap
Unexecuted instantiation: registry.c:git_atomic__swap
Unexecuted instantiation: socket.c:git_atomic__swap
Unexecuted instantiation: submodule.c:git_atomic__swap
Unexecuted instantiation: sysdir.c:git_atomic__swap
Unexecuted instantiation: tag.c:git_atomic__swap
Unexecuted instantiation: http.c:git_atomic__swap
Unexecuted instantiation: httpclient.c:git_atomic__swap
Unexecuted instantiation: httpparser.c:git_atomic__swap
Unexecuted instantiation: smart_protocol.c:git_atomic__swap
Unexecuted instantiation: ssh_libssh2.c:git_atomic__swap
Unexecuted instantiation: tree.c:git_atomic__swap
Unexecuted instantiation: worktree.c:git_atomic__swap
Unexecuted instantiation: alloc.c:git_atomic__swap
Unexecuted instantiation: failalloc.c:git_atomic__swap
Unexecuted instantiation: stdalloc.c:git_atomic__swap
Unexecuted instantiation: date.c:git_atomic__swap
Unexecuted instantiation: filebuf.c:git_atomic__swap
Unexecuted instantiation: fs_path.c:git_atomic__swap
Unexecuted instantiation: futils.c:git_atomic__swap
Unexecuted instantiation: net.c:git_atomic__swap
Unexecuted instantiation: pool.c:git_atomic__swap
Unexecuted instantiation: posix.c:git_atomic__swap
Unexecuted instantiation: pqueue.c:git_atomic__swap
Unexecuted instantiation: rand.c:git_atomic__swap
Unexecuted instantiation: regexp.c:git_atomic__swap
Unexecuted instantiation: vector.c:git_atomic__swap
Unexecuted instantiation: wildmatch.c:git_atomic__swap
Unexecuted instantiation: zstream.c:git_atomic__swap
Unexecuted instantiation: map.c:git_atomic__swap
Unexecuted instantiation: realpath.c:git_atomic__swap
Unexecuted instantiation: annotated_commit.c:git_atomic__swap
Unexecuted instantiation: attr.c:git_atomic__swap
Unexecuted instantiation: attr_file.c:git_atomic__swap
Unexecuted instantiation: attrcache.c:git_atomic__swap
Unexecuted instantiation: blob.c:git_atomic__swap
Unexecuted instantiation: branch.c:git_atomic__swap
Unexecuted instantiation: buf.c:git_atomic__swap
Unexecuted instantiation: cache.c:git_atomic__swap
Unexecuted instantiation: checkout.c:git_atomic__swap
Unexecuted instantiation: clone.c:git_atomic__swap
Unexecuted instantiation: commit.c:git_atomic__swap
Unexecuted instantiation: commit_graph.c:git_atomic__swap
Unexecuted instantiation: commit_list.c:git_atomic__swap
Unexecuted instantiation: config.c:git_atomic__swap
Unexecuted instantiation: config_cache.c:git_atomic__swap
Unexecuted instantiation: config_file.c:git_atomic__swap
Unexecuted instantiation: config_list.c:git_atomic__swap
Unexecuted instantiation: config_parse.c:git_atomic__swap
Unexecuted instantiation: config_snapshot.c:git_atomic__swap
Unexecuted instantiation: delta.c:git_atomic__swap
Unexecuted instantiation: diff.c:git_atomic__swap
Unexecuted instantiation: diff_driver.c:git_atomic__swap
Unexecuted instantiation: diff_generate.c:git_atomic__swap
Unexecuted instantiation: diff_print.c:git_atomic__swap
Unexecuted instantiation: diff_tform.c:git_atomic__swap
Unexecuted instantiation: email.c:git_atomic__swap
Unexecuted instantiation: filter.c:git_atomic__swap
Unexecuted instantiation: grafts.c:git_atomic__swap
Unexecuted instantiation: hashsig.c:git_atomic__swap
Unexecuted instantiation: ident.c:git_atomic__swap
Unexecuted instantiation: index.c:git_atomic__swap
Unexecuted instantiation: index_map.c:git_atomic__swap
Unexecuted instantiation: indexer.c:git_atomic__swap
Unexecuted instantiation: iterator.c:git_atomic__swap
Unexecuted instantiation: mailmap.c:git_atomic__swap
Unexecuted instantiation: merge.c:git_atomic__swap
Unexecuted instantiation: object.c:git_atomic__swap
Unexecuted instantiation: object_api.c:git_atomic__swap
Unexecuted instantiation: oidarray.c:git_atomic__swap
Unexecuted instantiation: pack-objects.c:git_atomic__swap
Unexecuted instantiation: parse.c:git_atomic__swap
Unexecuted instantiation: patch.c:git_atomic__swap
Unexecuted instantiation: patch_generate.c:git_atomic__swap
Unexecuted instantiation: path.c:git_atomic__swap
Unexecuted instantiation: pathspec.c:git_atomic__swap
Unexecuted instantiation: push.c:git_atomic__swap
Unexecuted instantiation: refdb.c:git_atomic__swap
Unexecuted instantiation: refdb_fs.c:git_atomic__swap
Unexecuted instantiation: reflog.c:git_atomic__swap
Unexecuted instantiation: refs.c:git_atomic__swap
Unexecuted instantiation: refspec.c:git_atomic__swap
Unexecuted instantiation: remote.c:git_atomic__swap
Unexecuted instantiation: signature.c:git_atomic__swap
Unexecuted instantiation: tls.c:git_atomic__swap
Unexecuted instantiation: trace.c:git_atomic__swap
Unexecuted instantiation: transaction.c:git_atomic__swap
Unexecuted instantiation: transport.c:git_atomic__swap
Unexecuted instantiation: auth.c:git_atomic__swap
Unexecuted instantiation: credential.c:git_atomic__swap
Unexecuted instantiation: git.c:git_atomic__swap
Unexecuted instantiation: local.c:git_atomic__swap
Unexecuted instantiation: smart.c:git_atomic__swap
Unexecuted instantiation: smart_pkt.c:git_atomic__swap
Unexecuted instantiation: tree-cache.c:git_atomic__swap
Unexecuted instantiation: sortedcache.c:git_atomic__swap
Unexecuted instantiation: tsort.c:git_atomic__swap
Unexecuted instantiation: utf8.c:git_atomic__swap
Unexecuted instantiation: varint.c:git_atomic__swap
Unexecuted instantiation: crlf.c:git_atomic__swap
Unexecuted instantiation: diff_file.c:git_atomic__swap
Unexecuted instantiation: diff_stats.c:git_atomic__swap
Unexecuted instantiation: diff_xdiff.c:git_atomic__swap
Unexecuted instantiation: fetch.c:git_atomic__swap
Unexecuted instantiation: fetchhead.c:git_atomic__swap
Unexecuted instantiation: graph.c:git_atomic__swap
Unexecuted instantiation: ignore.c:git_atomic__swap
Unexecuted instantiation: proxy.c:git_atomic__swap
192
193
GIT_INLINE(volatile void *) git_atomic__load(void * volatile *ptr)
194
0
{
195
#if defined(GIT_WIN32)
196
  void *newval = NULL, *oldval = NULL;
197
  return (volatile void *)InterlockedCompareExchangePointer((volatile PVOID *)ptr, newval, oldval);
198
#elif defined(GIT_BUILTIN_ATOMIC)
199
  return (volatile void *)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
200
#elif defined(GIT_BUILTIN_SYNC)
201
  return (volatile void *)__sync_val_compare_and_swap(ptr, 0, 0);
202
#else
203
# error "Unsupported architecture for atomic operations"
204
#endif
205
0
}
Unexecuted instantiation: midx_fuzzer.c:git_atomic__load
Unexecuted instantiation: fuzzer_utils.c:git_atomic__load
Unexecuted instantiation: errors.c:git_atomic__load
Unexecuted instantiation: hash.c:git_atomic__load
Unexecuted instantiation: runtime.c:git_atomic__load
Unexecuted instantiation: str.c:git_atomic__load
Unexecuted instantiation: thread.c:git_atomic__load
Unexecuted instantiation: util.c:git_atomic__load
Unexecuted instantiation: collisiondetect.c:git_atomic__load
Unexecuted instantiation: sha1.c:git_atomic__load
Unexecuted instantiation: ubc_check.c:git_atomic__load
Unexecuted instantiation: builtin.c:git_atomic__load
Unexecuted instantiation: libgit2.c:git_atomic__load
Unexecuted instantiation: merge_driver.c:git_atomic__load
Unexecuted instantiation: merge_file.c:git_atomic__load
Unexecuted instantiation: midx.c:git_atomic__load
Unexecuted instantiation: mwindow.c:git_atomic__load
Unexecuted instantiation: odb.c:git_atomic__load
Unexecuted instantiation: odb_loose.c:git_atomic__load
Unexecuted instantiation: odb_pack.c:git_atomic__load
Unexecuted instantiation: oid.c:git_atomic__load
Unexecuted instantiation: pack.c:git_atomic__load
Unexecuted instantiation: repository.c:git_atomic__load
Unexecuted instantiation: revparse.c:git_atomic__load
Unexecuted instantiation: revwalk.c:git_atomic__load
Unexecuted instantiation: settings.c:git_atomic__load
Unexecuted instantiation: strarray.c:git_atomic__load
Unexecuted instantiation: mbedtls.c:git_atomic__load
Unexecuted instantiation: openssl.c:git_atomic__load
Unexecuted instantiation: registry.c:git_atomic__load
Unexecuted instantiation: socket.c:git_atomic__load
Unexecuted instantiation: submodule.c:git_atomic__load
Unexecuted instantiation: sysdir.c:git_atomic__load
Unexecuted instantiation: tag.c:git_atomic__load
Unexecuted instantiation: http.c:git_atomic__load
Unexecuted instantiation: httpclient.c:git_atomic__load
Unexecuted instantiation: httpparser.c:git_atomic__load
Unexecuted instantiation: smart_protocol.c:git_atomic__load
Unexecuted instantiation: ssh_libssh2.c:git_atomic__load
Unexecuted instantiation: tree.c:git_atomic__load
Unexecuted instantiation: worktree.c:git_atomic__load
Unexecuted instantiation: alloc.c:git_atomic__load
Unexecuted instantiation: failalloc.c:git_atomic__load
Unexecuted instantiation: stdalloc.c:git_atomic__load
Unexecuted instantiation: date.c:git_atomic__load
Unexecuted instantiation: filebuf.c:git_atomic__load
Unexecuted instantiation: fs_path.c:git_atomic__load
Unexecuted instantiation: futils.c:git_atomic__load
Unexecuted instantiation: net.c:git_atomic__load
Unexecuted instantiation: pool.c:git_atomic__load
Unexecuted instantiation: posix.c:git_atomic__load
Unexecuted instantiation: pqueue.c:git_atomic__load
Unexecuted instantiation: rand.c:git_atomic__load
Unexecuted instantiation: regexp.c:git_atomic__load
Unexecuted instantiation: vector.c:git_atomic__load
Unexecuted instantiation: wildmatch.c:git_atomic__load
Unexecuted instantiation: zstream.c:git_atomic__load
Unexecuted instantiation: map.c:git_atomic__load
Unexecuted instantiation: realpath.c:git_atomic__load
Unexecuted instantiation: annotated_commit.c:git_atomic__load
Unexecuted instantiation: attr.c:git_atomic__load
Unexecuted instantiation: attr_file.c:git_atomic__load
Unexecuted instantiation: attrcache.c:git_atomic__load
Unexecuted instantiation: blob.c:git_atomic__load
Unexecuted instantiation: branch.c:git_atomic__load
Unexecuted instantiation: buf.c:git_atomic__load
Unexecuted instantiation: cache.c:git_atomic__load
Unexecuted instantiation: checkout.c:git_atomic__load
Unexecuted instantiation: clone.c:git_atomic__load
Unexecuted instantiation: commit.c:git_atomic__load
Unexecuted instantiation: commit_graph.c:git_atomic__load
Unexecuted instantiation: commit_list.c:git_atomic__load
Unexecuted instantiation: config.c:git_atomic__load
Unexecuted instantiation: config_cache.c:git_atomic__load
Unexecuted instantiation: config_file.c:git_atomic__load
Unexecuted instantiation: config_list.c:git_atomic__load
Unexecuted instantiation: config_parse.c:git_atomic__load
Unexecuted instantiation: config_snapshot.c:git_atomic__load
Unexecuted instantiation: delta.c:git_atomic__load
Unexecuted instantiation: diff.c:git_atomic__load
Unexecuted instantiation: diff_driver.c:git_atomic__load
Unexecuted instantiation: diff_generate.c:git_atomic__load
Unexecuted instantiation: diff_print.c:git_atomic__load
Unexecuted instantiation: diff_tform.c:git_atomic__load
Unexecuted instantiation: email.c:git_atomic__load
Unexecuted instantiation: filter.c:git_atomic__load
Unexecuted instantiation: grafts.c:git_atomic__load
Unexecuted instantiation: hashsig.c:git_atomic__load
Unexecuted instantiation: ident.c:git_atomic__load
Unexecuted instantiation: index.c:git_atomic__load
Unexecuted instantiation: index_map.c:git_atomic__load
Unexecuted instantiation: indexer.c:git_atomic__load
Unexecuted instantiation: iterator.c:git_atomic__load
Unexecuted instantiation: mailmap.c:git_atomic__load
Unexecuted instantiation: merge.c:git_atomic__load
Unexecuted instantiation: object.c:git_atomic__load
Unexecuted instantiation: object_api.c:git_atomic__load
Unexecuted instantiation: oidarray.c:git_atomic__load
Unexecuted instantiation: pack-objects.c:git_atomic__load
Unexecuted instantiation: parse.c:git_atomic__load
Unexecuted instantiation: patch.c:git_atomic__load
Unexecuted instantiation: patch_generate.c:git_atomic__load
Unexecuted instantiation: path.c:git_atomic__load
Unexecuted instantiation: pathspec.c:git_atomic__load
Unexecuted instantiation: push.c:git_atomic__load
Unexecuted instantiation: refdb.c:git_atomic__load
Unexecuted instantiation: refdb_fs.c:git_atomic__load
Unexecuted instantiation: reflog.c:git_atomic__load
Unexecuted instantiation: refs.c:git_atomic__load
Unexecuted instantiation: refspec.c:git_atomic__load
Unexecuted instantiation: remote.c:git_atomic__load
Unexecuted instantiation: signature.c:git_atomic__load
Unexecuted instantiation: tls.c:git_atomic__load
Unexecuted instantiation: trace.c:git_atomic__load
Unexecuted instantiation: transaction.c:git_atomic__load
Unexecuted instantiation: transport.c:git_atomic__load
Unexecuted instantiation: auth.c:git_atomic__load
Unexecuted instantiation: credential.c:git_atomic__load
Unexecuted instantiation: git.c:git_atomic__load
Unexecuted instantiation: local.c:git_atomic__load
Unexecuted instantiation: smart.c:git_atomic__load
Unexecuted instantiation: smart_pkt.c:git_atomic__load
Unexecuted instantiation: tree-cache.c:git_atomic__load
Unexecuted instantiation: sortedcache.c:git_atomic__load
Unexecuted instantiation: tsort.c:git_atomic__load
Unexecuted instantiation: utf8.c:git_atomic__load
Unexecuted instantiation: varint.c:git_atomic__load
Unexecuted instantiation: crlf.c:git_atomic__load
Unexecuted instantiation: diff_file.c:git_atomic__load
Unexecuted instantiation: diff_stats.c:git_atomic__load
Unexecuted instantiation: diff_xdiff.c:git_atomic__load
Unexecuted instantiation: fetch.c:git_atomic__load
Unexecuted instantiation: fetchhead.c:git_atomic__load
Unexecuted instantiation: graph.c:git_atomic__load
Unexecuted instantiation: ignore.c:git_atomic__load
Unexecuted instantiation: proxy.c:git_atomic__load
206
207
#ifdef GIT_ARCH_64
208
209
/*
210
 * Atomically adds the contents of *a and addend, and stores the result back into *a.
211
 * @return the result of the operation.
212
 */
213
GIT_INLINE(int64_t) git_atomic64_add(git_atomic64 *a, int64_t addend)
214
0
{
215
#if defined(GIT_WIN32)
216
  return InterlockedAdd64(&a->val, addend);
217
#elif defined(GIT_BUILTIN_ATOMIC)
218
  return __atomic_add_fetch(&a->val, addend, __ATOMIC_SEQ_CST);
219
#elif defined(GIT_BUILTIN_SYNC)
220
  return __sync_add_and_fetch(&a->val, addend);
221
#else
222
# error "Unsupported architecture for atomic operations"
223
#endif
224
0
}
Unexecuted instantiation: midx_fuzzer.c:git_atomic64_add
Unexecuted instantiation: fuzzer_utils.c:git_atomic64_add
Unexecuted instantiation: errors.c:git_atomic64_add
Unexecuted instantiation: hash.c:git_atomic64_add
Unexecuted instantiation: runtime.c:git_atomic64_add
Unexecuted instantiation: str.c:git_atomic64_add
Unexecuted instantiation: thread.c:git_atomic64_add
Unexecuted instantiation: util.c:git_atomic64_add
Unexecuted instantiation: collisiondetect.c:git_atomic64_add
Unexecuted instantiation: sha1.c:git_atomic64_add
Unexecuted instantiation: ubc_check.c:git_atomic64_add
Unexecuted instantiation: builtin.c:git_atomic64_add
Unexecuted instantiation: libgit2.c:git_atomic64_add
Unexecuted instantiation: merge_driver.c:git_atomic64_add
Unexecuted instantiation: merge_file.c:git_atomic64_add
Unexecuted instantiation: midx.c:git_atomic64_add
Unexecuted instantiation: mwindow.c:git_atomic64_add
Unexecuted instantiation: odb.c:git_atomic64_add
Unexecuted instantiation: odb_loose.c:git_atomic64_add
Unexecuted instantiation: odb_pack.c:git_atomic64_add
Unexecuted instantiation: oid.c:git_atomic64_add
Unexecuted instantiation: pack.c:git_atomic64_add
Unexecuted instantiation: repository.c:git_atomic64_add
Unexecuted instantiation: revparse.c:git_atomic64_add
Unexecuted instantiation: revwalk.c:git_atomic64_add
Unexecuted instantiation: settings.c:git_atomic64_add
Unexecuted instantiation: strarray.c:git_atomic64_add
Unexecuted instantiation: mbedtls.c:git_atomic64_add
Unexecuted instantiation: openssl.c:git_atomic64_add
Unexecuted instantiation: registry.c:git_atomic64_add
Unexecuted instantiation: socket.c:git_atomic64_add
Unexecuted instantiation: submodule.c:git_atomic64_add
Unexecuted instantiation: sysdir.c:git_atomic64_add
Unexecuted instantiation: tag.c:git_atomic64_add
Unexecuted instantiation: http.c:git_atomic64_add
Unexecuted instantiation: httpclient.c:git_atomic64_add
Unexecuted instantiation: httpparser.c:git_atomic64_add
Unexecuted instantiation: smart_protocol.c:git_atomic64_add
Unexecuted instantiation: ssh_libssh2.c:git_atomic64_add
Unexecuted instantiation: tree.c:git_atomic64_add
Unexecuted instantiation: worktree.c:git_atomic64_add
Unexecuted instantiation: alloc.c:git_atomic64_add
Unexecuted instantiation: failalloc.c:git_atomic64_add
Unexecuted instantiation: stdalloc.c:git_atomic64_add
Unexecuted instantiation: date.c:git_atomic64_add
Unexecuted instantiation: filebuf.c:git_atomic64_add
Unexecuted instantiation: fs_path.c:git_atomic64_add
Unexecuted instantiation: futils.c:git_atomic64_add
Unexecuted instantiation: net.c:git_atomic64_add
Unexecuted instantiation: pool.c:git_atomic64_add
Unexecuted instantiation: posix.c:git_atomic64_add
Unexecuted instantiation: pqueue.c:git_atomic64_add
Unexecuted instantiation: rand.c:git_atomic64_add
Unexecuted instantiation: regexp.c:git_atomic64_add
Unexecuted instantiation: vector.c:git_atomic64_add
Unexecuted instantiation: wildmatch.c:git_atomic64_add
Unexecuted instantiation: zstream.c:git_atomic64_add
Unexecuted instantiation: map.c:git_atomic64_add
Unexecuted instantiation: realpath.c:git_atomic64_add
Unexecuted instantiation: annotated_commit.c:git_atomic64_add
Unexecuted instantiation: attr.c:git_atomic64_add
Unexecuted instantiation: attr_file.c:git_atomic64_add
Unexecuted instantiation: attrcache.c:git_atomic64_add
Unexecuted instantiation: blob.c:git_atomic64_add
Unexecuted instantiation: branch.c:git_atomic64_add
Unexecuted instantiation: buf.c:git_atomic64_add
Unexecuted instantiation: cache.c:git_atomic64_add
Unexecuted instantiation: checkout.c:git_atomic64_add
Unexecuted instantiation: clone.c:git_atomic64_add
Unexecuted instantiation: commit.c:git_atomic64_add
Unexecuted instantiation: commit_graph.c:git_atomic64_add
Unexecuted instantiation: commit_list.c:git_atomic64_add
Unexecuted instantiation: config.c:git_atomic64_add
Unexecuted instantiation: config_cache.c:git_atomic64_add
Unexecuted instantiation: config_file.c:git_atomic64_add
Unexecuted instantiation: config_list.c:git_atomic64_add
Unexecuted instantiation: config_parse.c:git_atomic64_add
Unexecuted instantiation: config_snapshot.c:git_atomic64_add
Unexecuted instantiation: delta.c:git_atomic64_add
Unexecuted instantiation: diff.c:git_atomic64_add
Unexecuted instantiation: diff_driver.c:git_atomic64_add
Unexecuted instantiation: diff_generate.c:git_atomic64_add
Unexecuted instantiation: diff_print.c:git_atomic64_add
Unexecuted instantiation: diff_tform.c:git_atomic64_add
Unexecuted instantiation: email.c:git_atomic64_add
Unexecuted instantiation: filter.c:git_atomic64_add
Unexecuted instantiation: grafts.c:git_atomic64_add
Unexecuted instantiation: hashsig.c:git_atomic64_add
Unexecuted instantiation: ident.c:git_atomic64_add
Unexecuted instantiation: index.c:git_atomic64_add
Unexecuted instantiation: index_map.c:git_atomic64_add
Unexecuted instantiation: indexer.c:git_atomic64_add
Unexecuted instantiation: iterator.c:git_atomic64_add
Unexecuted instantiation: mailmap.c:git_atomic64_add
Unexecuted instantiation: merge.c:git_atomic64_add
Unexecuted instantiation: object.c:git_atomic64_add
Unexecuted instantiation: object_api.c:git_atomic64_add
Unexecuted instantiation: oidarray.c:git_atomic64_add
Unexecuted instantiation: pack-objects.c:git_atomic64_add
Unexecuted instantiation: parse.c:git_atomic64_add
Unexecuted instantiation: patch.c:git_atomic64_add
Unexecuted instantiation: patch_generate.c:git_atomic64_add
Unexecuted instantiation: path.c:git_atomic64_add
Unexecuted instantiation: pathspec.c:git_atomic64_add
Unexecuted instantiation: push.c:git_atomic64_add
Unexecuted instantiation: refdb.c:git_atomic64_add
Unexecuted instantiation: refdb_fs.c:git_atomic64_add
Unexecuted instantiation: reflog.c:git_atomic64_add
Unexecuted instantiation: refs.c:git_atomic64_add
Unexecuted instantiation: refspec.c:git_atomic64_add
Unexecuted instantiation: remote.c:git_atomic64_add
Unexecuted instantiation: signature.c:git_atomic64_add
Unexecuted instantiation: tls.c:git_atomic64_add
Unexecuted instantiation: trace.c:git_atomic64_add
Unexecuted instantiation: transaction.c:git_atomic64_add
Unexecuted instantiation: transport.c:git_atomic64_add
Unexecuted instantiation: auth.c:git_atomic64_add
Unexecuted instantiation: credential.c:git_atomic64_add
Unexecuted instantiation: git.c:git_atomic64_add
Unexecuted instantiation: local.c:git_atomic64_add
Unexecuted instantiation: smart.c:git_atomic64_add
Unexecuted instantiation: smart_pkt.c:git_atomic64_add
Unexecuted instantiation: tree-cache.c:git_atomic64_add
Unexecuted instantiation: sortedcache.c:git_atomic64_add
Unexecuted instantiation: tsort.c:git_atomic64_add
Unexecuted instantiation: utf8.c:git_atomic64_add
Unexecuted instantiation: varint.c:git_atomic64_add
Unexecuted instantiation: crlf.c:git_atomic64_add
Unexecuted instantiation: diff_file.c:git_atomic64_add
Unexecuted instantiation: diff_stats.c:git_atomic64_add
Unexecuted instantiation: diff_xdiff.c:git_atomic64_add
Unexecuted instantiation: fetch.c:git_atomic64_add
Unexecuted instantiation: fetchhead.c:git_atomic64_add
Unexecuted instantiation: graph.c:git_atomic64_add
Unexecuted instantiation: ignore.c:git_atomic64_add
Unexecuted instantiation: proxy.c:git_atomic64_add
225
226
/*
227
 * Atomically sets the contents of *a to be val.
228
 */
229
GIT_INLINE(void) git_atomic64_set(git_atomic64 *a, int64_t val)
230
0
{
231
0
#if defined(GIT_WIN32)
232
0
  InterlockedExchange64(&a->val, val);
233
0
#elif defined(GIT_BUILTIN_ATOMIC)
234
0
  __atomic_store_n(&a->val, val, __ATOMIC_SEQ_CST);
235
0
#elif defined(GIT_BUILTIN_SYNC)
236
0
  __sync_lock_test_and_set(&a->val, val);
237
0
#else
238
0
# error "Unsupported architecture for atomic operations"
239
0
#endif
240
0
}
Unexecuted instantiation: midx_fuzzer.c:git_atomic64_set
Unexecuted instantiation: fuzzer_utils.c:git_atomic64_set
Unexecuted instantiation: errors.c:git_atomic64_set
Unexecuted instantiation: hash.c:git_atomic64_set
Unexecuted instantiation: runtime.c:git_atomic64_set
Unexecuted instantiation: str.c:git_atomic64_set
Unexecuted instantiation: thread.c:git_atomic64_set
Unexecuted instantiation: util.c:git_atomic64_set
Unexecuted instantiation: collisiondetect.c:git_atomic64_set
Unexecuted instantiation: sha1.c:git_atomic64_set
Unexecuted instantiation: ubc_check.c:git_atomic64_set
Unexecuted instantiation: builtin.c:git_atomic64_set
Unexecuted instantiation: libgit2.c:git_atomic64_set
Unexecuted instantiation: merge_driver.c:git_atomic64_set
Unexecuted instantiation: merge_file.c:git_atomic64_set
Unexecuted instantiation: midx.c:git_atomic64_set
Unexecuted instantiation: mwindow.c:git_atomic64_set
Unexecuted instantiation: odb.c:git_atomic64_set
Unexecuted instantiation: odb_loose.c:git_atomic64_set
Unexecuted instantiation: odb_pack.c:git_atomic64_set
Unexecuted instantiation: oid.c:git_atomic64_set
Unexecuted instantiation: pack.c:git_atomic64_set
Unexecuted instantiation: repository.c:git_atomic64_set
Unexecuted instantiation: revparse.c:git_atomic64_set
Unexecuted instantiation: revwalk.c:git_atomic64_set
Unexecuted instantiation: settings.c:git_atomic64_set
Unexecuted instantiation: strarray.c:git_atomic64_set
Unexecuted instantiation: mbedtls.c:git_atomic64_set
Unexecuted instantiation: openssl.c:git_atomic64_set
Unexecuted instantiation: registry.c:git_atomic64_set
Unexecuted instantiation: socket.c:git_atomic64_set
Unexecuted instantiation: submodule.c:git_atomic64_set
Unexecuted instantiation: sysdir.c:git_atomic64_set
Unexecuted instantiation: tag.c:git_atomic64_set
Unexecuted instantiation: http.c:git_atomic64_set
Unexecuted instantiation: httpclient.c:git_atomic64_set
Unexecuted instantiation: httpparser.c:git_atomic64_set
Unexecuted instantiation: smart_protocol.c:git_atomic64_set
Unexecuted instantiation: ssh_libssh2.c:git_atomic64_set
Unexecuted instantiation: tree.c:git_atomic64_set
Unexecuted instantiation: worktree.c:git_atomic64_set
Unexecuted instantiation: alloc.c:git_atomic64_set
Unexecuted instantiation: failalloc.c:git_atomic64_set
Unexecuted instantiation: stdalloc.c:git_atomic64_set
Unexecuted instantiation: date.c:git_atomic64_set
Unexecuted instantiation: filebuf.c:git_atomic64_set
Unexecuted instantiation: fs_path.c:git_atomic64_set
Unexecuted instantiation: futils.c:git_atomic64_set
Unexecuted instantiation: net.c:git_atomic64_set
Unexecuted instantiation: pool.c:git_atomic64_set
Unexecuted instantiation: posix.c:git_atomic64_set
Unexecuted instantiation: pqueue.c:git_atomic64_set
Unexecuted instantiation: rand.c:git_atomic64_set
Unexecuted instantiation: regexp.c:git_atomic64_set
Unexecuted instantiation: vector.c:git_atomic64_set
Unexecuted instantiation: wildmatch.c:git_atomic64_set
Unexecuted instantiation: zstream.c:git_atomic64_set
Unexecuted instantiation: map.c:git_atomic64_set
Unexecuted instantiation: realpath.c:git_atomic64_set
Unexecuted instantiation: annotated_commit.c:git_atomic64_set
Unexecuted instantiation: attr.c:git_atomic64_set
Unexecuted instantiation: attr_file.c:git_atomic64_set
Unexecuted instantiation: attrcache.c:git_atomic64_set
Unexecuted instantiation: blob.c:git_atomic64_set
Unexecuted instantiation: branch.c:git_atomic64_set
Unexecuted instantiation: buf.c:git_atomic64_set
Unexecuted instantiation: cache.c:git_atomic64_set
Unexecuted instantiation: checkout.c:git_atomic64_set
Unexecuted instantiation: clone.c:git_atomic64_set
Unexecuted instantiation: commit.c:git_atomic64_set
Unexecuted instantiation: commit_graph.c:git_atomic64_set
Unexecuted instantiation: commit_list.c:git_atomic64_set
Unexecuted instantiation: config.c:git_atomic64_set
Unexecuted instantiation: config_cache.c:git_atomic64_set
Unexecuted instantiation: config_file.c:git_atomic64_set
Unexecuted instantiation: config_list.c:git_atomic64_set
Unexecuted instantiation: config_parse.c:git_atomic64_set
Unexecuted instantiation: config_snapshot.c:git_atomic64_set
Unexecuted instantiation: delta.c:git_atomic64_set
Unexecuted instantiation: diff.c:git_atomic64_set
Unexecuted instantiation: diff_driver.c:git_atomic64_set
Unexecuted instantiation: diff_generate.c:git_atomic64_set
Unexecuted instantiation: diff_print.c:git_atomic64_set
Unexecuted instantiation: diff_tform.c:git_atomic64_set
Unexecuted instantiation: email.c:git_atomic64_set
Unexecuted instantiation: filter.c:git_atomic64_set
Unexecuted instantiation: grafts.c:git_atomic64_set
Unexecuted instantiation: hashsig.c:git_atomic64_set
Unexecuted instantiation: ident.c:git_atomic64_set
Unexecuted instantiation: index.c:git_atomic64_set
Unexecuted instantiation: index_map.c:git_atomic64_set
Unexecuted instantiation: indexer.c:git_atomic64_set
Unexecuted instantiation: iterator.c:git_atomic64_set
Unexecuted instantiation: mailmap.c:git_atomic64_set
Unexecuted instantiation: merge.c:git_atomic64_set
Unexecuted instantiation: object.c:git_atomic64_set
Unexecuted instantiation: object_api.c:git_atomic64_set
Unexecuted instantiation: oidarray.c:git_atomic64_set
Unexecuted instantiation: pack-objects.c:git_atomic64_set
Unexecuted instantiation: parse.c:git_atomic64_set
Unexecuted instantiation: patch.c:git_atomic64_set
Unexecuted instantiation: patch_generate.c:git_atomic64_set
Unexecuted instantiation: path.c:git_atomic64_set
Unexecuted instantiation: pathspec.c:git_atomic64_set
Unexecuted instantiation: push.c:git_atomic64_set
Unexecuted instantiation: refdb.c:git_atomic64_set
Unexecuted instantiation: refdb_fs.c:git_atomic64_set
Unexecuted instantiation: reflog.c:git_atomic64_set
Unexecuted instantiation: refs.c:git_atomic64_set
Unexecuted instantiation: refspec.c:git_atomic64_set
Unexecuted instantiation: remote.c:git_atomic64_set
Unexecuted instantiation: signature.c:git_atomic64_set
Unexecuted instantiation: tls.c:git_atomic64_set
Unexecuted instantiation: trace.c:git_atomic64_set
Unexecuted instantiation: transaction.c:git_atomic64_set
Unexecuted instantiation: transport.c:git_atomic64_set
Unexecuted instantiation: auth.c:git_atomic64_set
Unexecuted instantiation: credential.c:git_atomic64_set
Unexecuted instantiation: git.c:git_atomic64_set
Unexecuted instantiation: local.c:git_atomic64_set
Unexecuted instantiation: smart.c:git_atomic64_set
Unexecuted instantiation: smart_pkt.c:git_atomic64_set
Unexecuted instantiation: tree-cache.c:git_atomic64_set
Unexecuted instantiation: sortedcache.c:git_atomic64_set
Unexecuted instantiation: tsort.c:git_atomic64_set
Unexecuted instantiation: utf8.c:git_atomic64_set
Unexecuted instantiation: varint.c:git_atomic64_set
Unexecuted instantiation: crlf.c:git_atomic64_set
Unexecuted instantiation: diff_file.c:git_atomic64_set
Unexecuted instantiation: diff_stats.c:git_atomic64_set
Unexecuted instantiation: diff_xdiff.c:git_atomic64_set
Unexecuted instantiation: fetch.c:git_atomic64_set
Unexecuted instantiation: fetchhead.c:git_atomic64_set
Unexecuted instantiation: graph.c:git_atomic64_set
Unexecuted instantiation: ignore.c:git_atomic64_set
Unexecuted instantiation: proxy.c:git_atomic64_set
241
242
/*
243
 * Atomically gets the contents of *a.
244
 * @return the contents of *a.
245
 */
246
GIT_INLINE(int64_t) git_atomic64_get(git_atomic64 *a)
247
0
{
248
#if defined(GIT_WIN32)
249
  return (int64_t)InterlockedCompareExchange64(&a->val, 0, 0);
250
#elif defined(GIT_BUILTIN_ATOMIC)
251
  return __atomic_load_n(&a->val, __ATOMIC_SEQ_CST);
252
#elif defined(GIT_BUILTIN_SYNC)
253
  return __sync_val_compare_and_swap(&a->val, 0, 0);
254
#else
255
# error "Unsupported architecture for atomic operations"
256
#endif
257
0
}
Unexecuted instantiation: midx_fuzzer.c:git_atomic64_get
Unexecuted instantiation: fuzzer_utils.c:git_atomic64_get
Unexecuted instantiation: errors.c:git_atomic64_get
Unexecuted instantiation: hash.c:git_atomic64_get
Unexecuted instantiation: runtime.c:git_atomic64_get
Unexecuted instantiation: str.c:git_atomic64_get
Unexecuted instantiation: thread.c:git_atomic64_get
Unexecuted instantiation: util.c:git_atomic64_get
Unexecuted instantiation: collisiondetect.c:git_atomic64_get
Unexecuted instantiation: sha1.c:git_atomic64_get
Unexecuted instantiation: ubc_check.c:git_atomic64_get
Unexecuted instantiation: builtin.c:git_atomic64_get
Unexecuted instantiation: libgit2.c:git_atomic64_get
Unexecuted instantiation: merge_driver.c:git_atomic64_get
Unexecuted instantiation: merge_file.c:git_atomic64_get
Unexecuted instantiation: midx.c:git_atomic64_get
Unexecuted instantiation: mwindow.c:git_atomic64_get
Unexecuted instantiation: odb.c:git_atomic64_get
Unexecuted instantiation: odb_loose.c:git_atomic64_get
Unexecuted instantiation: odb_pack.c:git_atomic64_get
Unexecuted instantiation: oid.c:git_atomic64_get
Unexecuted instantiation: pack.c:git_atomic64_get
Unexecuted instantiation: repository.c:git_atomic64_get
Unexecuted instantiation: revparse.c:git_atomic64_get
Unexecuted instantiation: revwalk.c:git_atomic64_get
Unexecuted instantiation: settings.c:git_atomic64_get
Unexecuted instantiation: strarray.c:git_atomic64_get
Unexecuted instantiation: mbedtls.c:git_atomic64_get
Unexecuted instantiation: openssl.c:git_atomic64_get
Unexecuted instantiation: registry.c:git_atomic64_get
Unexecuted instantiation: socket.c:git_atomic64_get
Unexecuted instantiation: submodule.c:git_atomic64_get
Unexecuted instantiation: sysdir.c:git_atomic64_get
Unexecuted instantiation: tag.c:git_atomic64_get
Unexecuted instantiation: http.c:git_atomic64_get
Unexecuted instantiation: httpclient.c:git_atomic64_get
Unexecuted instantiation: httpparser.c:git_atomic64_get
Unexecuted instantiation: smart_protocol.c:git_atomic64_get
Unexecuted instantiation: ssh_libssh2.c:git_atomic64_get
Unexecuted instantiation: tree.c:git_atomic64_get
Unexecuted instantiation: worktree.c:git_atomic64_get
Unexecuted instantiation: alloc.c:git_atomic64_get
Unexecuted instantiation: failalloc.c:git_atomic64_get
Unexecuted instantiation: stdalloc.c:git_atomic64_get
Unexecuted instantiation: date.c:git_atomic64_get
Unexecuted instantiation: filebuf.c:git_atomic64_get
Unexecuted instantiation: fs_path.c:git_atomic64_get
Unexecuted instantiation: futils.c:git_atomic64_get
Unexecuted instantiation: net.c:git_atomic64_get
Unexecuted instantiation: pool.c:git_atomic64_get
Unexecuted instantiation: posix.c:git_atomic64_get
Unexecuted instantiation: pqueue.c:git_atomic64_get
Unexecuted instantiation: rand.c:git_atomic64_get
Unexecuted instantiation: regexp.c:git_atomic64_get
Unexecuted instantiation: vector.c:git_atomic64_get
Unexecuted instantiation: wildmatch.c:git_atomic64_get
Unexecuted instantiation: zstream.c:git_atomic64_get
Unexecuted instantiation: map.c:git_atomic64_get
Unexecuted instantiation: realpath.c:git_atomic64_get
Unexecuted instantiation: annotated_commit.c:git_atomic64_get
Unexecuted instantiation: attr.c:git_atomic64_get
Unexecuted instantiation: attr_file.c:git_atomic64_get
Unexecuted instantiation: attrcache.c:git_atomic64_get
Unexecuted instantiation: blob.c:git_atomic64_get
Unexecuted instantiation: branch.c:git_atomic64_get
Unexecuted instantiation: buf.c:git_atomic64_get
Unexecuted instantiation: cache.c:git_atomic64_get
Unexecuted instantiation: checkout.c:git_atomic64_get
Unexecuted instantiation: clone.c:git_atomic64_get
Unexecuted instantiation: commit.c:git_atomic64_get
Unexecuted instantiation: commit_graph.c:git_atomic64_get
Unexecuted instantiation: commit_list.c:git_atomic64_get
Unexecuted instantiation: config.c:git_atomic64_get
Unexecuted instantiation: config_cache.c:git_atomic64_get
Unexecuted instantiation: config_file.c:git_atomic64_get
Unexecuted instantiation: config_list.c:git_atomic64_get
Unexecuted instantiation: config_parse.c:git_atomic64_get
Unexecuted instantiation: config_snapshot.c:git_atomic64_get
Unexecuted instantiation: delta.c:git_atomic64_get
Unexecuted instantiation: diff.c:git_atomic64_get
Unexecuted instantiation: diff_driver.c:git_atomic64_get
Unexecuted instantiation: diff_generate.c:git_atomic64_get
Unexecuted instantiation: diff_print.c:git_atomic64_get
Unexecuted instantiation: diff_tform.c:git_atomic64_get
Unexecuted instantiation: email.c:git_atomic64_get
Unexecuted instantiation: filter.c:git_atomic64_get
Unexecuted instantiation: grafts.c:git_atomic64_get
Unexecuted instantiation: hashsig.c:git_atomic64_get
Unexecuted instantiation: ident.c:git_atomic64_get
Unexecuted instantiation: index.c:git_atomic64_get
Unexecuted instantiation: index_map.c:git_atomic64_get
Unexecuted instantiation: indexer.c:git_atomic64_get
Unexecuted instantiation: iterator.c:git_atomic64_get
Unexecuted instantiation: mailmap.c:git_atomic64_get
Unexecuted instantiation: merge.c:git_atomic64_get
Unexecuted instantiation: object.c:git_atomic64_get
Unexecuted instantiation: object_api.c:git_atomic64_get
Unexecuted instantiation: oidarray.c:git_atomic64_get
Unexecuted instantiation: pack-objects.c:git_atomic64_get
Unexecuted instantiation: parse.c:git_atomic64_get
Unexecuted instantiation: patch.c:git_atomic64_get
Unexecuted instantiation: patch_generate.c:git_atomic64_get
Unexecuted instantiation: path.c:git_atomic64_get
Unexecuted instantiation: pathspec.c:git_atomic64_get
Unexecuted instantiation: push.c:git_atomic64_get
Unexecuted instantiation: refdb.c:git_atomic64_get
Unexecuted instantiation: refdb_fs.c:git_atomic64_get
Unexecuted instantiation: reflog.c:git_atomic64_get
Unexecuted instantiation: refs.c:git_atomic64_get
Unexecuted instantiation: refspec.c:git_atomic64_get
Unexecuted instantiation: remote.c:git_atomic64_get
Unexecuted instantiation: signature.c:git_atomic64_get
Unexecuted instantiation: tls.c:git_atomic64_get
Unexecuted instantiation: trace.c:git_atomic64_get
Unexecuted instantiation: transaction.c:git_atomic64_get
Unexecuted instantiation: transport.c:git_atomic64_get
Unexecuted instantiation: auth.c:git_atomic64_get
Unexecuted instantiation: credential.c:git_atomic64_get
Unexecuted instantiation: git.c:git_atomic64_get
Unexecuted instantiation: local.c:git_atomic64_get
Unexecuted instantiation: smart.c:git_atomic64_get
Unexecuted instantiation: smart_pkt.c:git_atomic64_get
Unexecuted instantiation: tree-cache.c:git_atomic64_get
Unexecuted instantiation: sortedcache.c:git_atomic64_get
Unexecuted instantiation: tsort.c:git_atomic64_get
Unexecuted instantiation: utf8.c:git_atomic64_get
Unexecuted instantiation: varint.c:git_atomic64_get
Unexecuted instantiation: crlf.c:git_atomic64_get
Unexecuted instantiation: diff_file.c:git_atomic64_get
Unexecuted instantiation: diff_stats.c:git_atomic64_get
Unexecuted instantiation: diff_xdiff.c:git_atomic64_get
Unexecuted instantiation: fetch.c:git_atomic64_get
Unexecuted instantiation: fetchhead.c:git_atomic64_get
Unexecuted instantiation: graph.c:git_atomic64_get
Unexecuted instantiation: ignore.c:git_atomic64_get
Unexecuted instantiation: proxy.c:git_atomic64_get
258
259
#endif
260
261
#else
262
263
#define git_threads_global_init git__noop
264
265
#define git_thread unsigned int
266
#define git_thread_create(t, s, a) git__noop(t, s, a)
267
#define git_thread_join(i, s) git__noop_args(i, s)
268
269
/* Pthreads Mutex */
270
#define git_mutex unsigned int
271
#define git_mutex_init(a) git__noop_args(a)
272
#define git_mutex_init(a) git__noop_args(a)
273
#define git_mutex_lock(a) git__noop_args(a)
274
#define git_mutex_unlock(a) git__noop_args(a)
275
#define git_mutex_free(a) git__noop_args(a)
276
277
/* Pthreads condition vars */
278
#define git_cond unsigned int
279
#define git_cond_init(c)  git__noop_args(c)
280
#define git_cond_free(c)  git__noop_args(c)
281
#define git_cond_wait(c, l) git__noop_args(c, l)
282
#define git_cond_signal(c)  git__noop_args(c)
283
#define git_cond_broadcast(c) git__noop_args(c)
284
285
/* Pthreads rwlock */
286
#define git_rwlock unsigned int
287
#define git_rwlock_init(a)  git__noop_args(a)
288
#define git_rwlock_rdlock(a)  git__noop_args(a)
289
#define git_rwlock_rdunlock(a)  git__noop_args(a)
290
#define git_rwlock_wrlock(a)  git__noop_args(a)
291
#define git_rwlock_wrunlock(a)  git__noop_args(a)
292
#define git_rwlock_free(a)  git__noop_args(a)
293
294
#define GIT_RWLOCK_STATIC_INIT  0
295
296
297
GIT_INLINE(void) git_atomic32_set(git_atomic32 *a, int val)
298
{
299
  a->val = val;
300
}
301
302
GIT_INLINE(int) git_atomic32_inc(git_atomic32 *a)
303
{
304
  return ++a->val;
305
}
306
307
GIT_INLINE(int) git_atomic32_add(git_atomic32 *a, int32_t addend)
308
{
309
  a->val += addend;
310
  return a->val;
311
}
312
313
GIT_INLINE(int) git_atomic32_dec(git_atomic32 *a)
314
{
315
  return --a->val;
316
}
317
318
GIT_INLINE(int) git_atomic32_get(git_atomic32 *a)
319
{
320
  return (int)a->val;
321
}
322
323
GIT_INLINE(void *) git_atomic__compare_and_swap(
324
  void * volatile *ptr, void *oldval, void *newval)
325
{
326
  void *foundval = *ptr;
327
  if (foundval == oldval)
328
    *ptr = newval;
329
  return foundval;
330
}
331
332
GIT_INLINE(volatile void *) git_atomic__swap(
333
  void * volatile *ptr, void *newval)
334
{
335
  volatile void *old = *ptr;
336
  *ptr = newval;
337
  return old;
338
}
339
340
GIT_INLINE(volatile void *) git_atomic__load(void * volatile *ptr)
341
{
342
  return *ptr;
343
}
344
345
#ifdef GIT_ARCH_64
346
347
GIT_INLINE(int64_t) git_atomic64_add(git_atomic64 *a, int64_t addend)
348
{
349
  a->val += addend;
350
  return a->val;
351
}
352
353
GIT_INLINE(void) git_atomic64_set(git_atomic64 *a, int64_t val)
354
{
355
  a->val = val;
356
}
357
358
GIT_INLINE(int64_t) git_atomic64_get(git_atomic64 *a)
359
{
360
  return (int64_t)a->val;
361
}
362
363
#endif
364
365
#endif
366
367
/*
368
 * Atomically replace the contents of *ptr (if they are equal to oldval) with
369
 * newval. ptr must point to a pointer or a value that is the same size as a
370
 * pointer. This is semantically compatible with:
371
 *
372
 *   #define git_atomic_compare_and_swap(ptr, oldval, newval) \
373
 *   ({                                                       \
374
 *       void *foundval = *ptr;                               \
375
 *       if (foundval == oldval)                              \
376
 *           *ptr = newval;                                   \
377
 *       foundval;                                            \
378
 *   })
379
 *
380
 * @return the original contents of *ptr.
381
 */
382
#define git_atomic_compare_and_swap(ptr, oldval, newval) \
383
0
  git_atomic__compare_and_swap((void * volatile *)ptr, oldval, newval)
384
385
/*
386
 * Atomically replace the contents of v with newval. v must be the same size as
387
 * a pointer. This is semantically compatible with:
388
 *
389
 *   #define git_atomic_swap(v, newval) \
390
 *   ({                                 \
391
 *       volatile void *old = v;        \
392
 *       v = newval;                    \
393
 *       old;                           \
394
 *   })
395
 *
396
 * @return the original contents of v.
397
 */
398
#define git_atomic_swap(v, newval) \
399
0
  (void *)git_atomic__swap((void * volatile *)&(v), newval)
400
401
/*
402
 * Atomically reads the contents of v. v must be the same size as a pointer.
403
 * This is semantically compatible with:
404
 *
405
 *   #define git_atomic_load(v) v
406
 *
407
 * @return the contents of v.
408
 */
409
#define git_atomic_load(v) \
410
0
  (void *)git_atomic__load((void * volatile *)&(v))
411
412
#if defined(GIT_THREADS)
413
414
# if defined(GIT_WIN32)
415
#  define GIT_MEMORY_BARRIER MemoryBarrier()
416
# elif defined(GIT_BUILTIN_ATOMIC)
417
2
#  define GIT_MEMORY_BARRIER __atomic_thread_fence(__ATOMIC_SEQ_CST)
418
# elif defined(GIT_BUILTIN_SYNC)
419
#  define GIT_MEMORY_BARRIER __sync_synchronize()
420
# endif
421
422
#else
423
424
# define GIT_MEMORY_BARRIER /* noop */
425
426
#endif
427
428
/* Thread-local data */
429
430
#if !defined(GIT_THREADS)
431
# define git_tlsdata_key int
432
#elif defined(GIT_WIN32)
433
# define git_tlsdata_key DWORD
434
#elif defined(_POSIX_THREADS)
435
# define git_tlsdata_key pthread_key_t
436
#else
437
# error unknown threading model
438
#endif
439
440
/**
441
 * Create a thread-local data key.  The destroy function will be
442
 * called upon thread exit.  On some platforms, it may be called
443
 * when all threads have deleted their keys.
444
 *
445
 * Note that the tlsdata functions do not set an error message on
446
 * failure; this is because the error handling in libgit2 is itself
447
 * handled by thread-local data storage.
448
 *
449
 * @param key the tlsdata key
450
 * @param destroy_fn function pointer called upon thread exit
451
 * @return 0 on success, non-zero on failure
452
 */
453
int git_tlsdata_init(git_tlsdata_key *key, void (GIT_SYSTEM_CALL *destroy_fn)(void *));
454
455
/**
456
 * Set a the thread-local value for the given key.
457
 *
458
 * @param key the tlsdata key to store data on
459
 * @param value the pointer to store
460
 * @return 0 on success, non-zero on failure
461
 */
462
int git_tlsdata_set(git_tlsdata_key key, void *value);
463
464
/**
465
 * Get the thread-local value for the given key.
466
 *
467
 * @param key the tlsdata key to retrieve the value of
468
 * @return the pointer stored with git_tlsdata_set
469
 */
470
void *git_tlsdata_get(git_tlsdata_key key);
471
472
/**
473
 * Delete the given thread-local key.
474
 *
475
 * @param key the tlsdata key to dispose
476
 * @return 0 on success, non-zero on failure
477
 */
478
int git_tlsdata_dispose(git_tlsdata_key key);
479
480
#endif