Coverage Report

Created: 2025-07-07 10:01

/work/workdir/UnpackedTarball/cairo/src/cairo-atomic-private.h
Line
Count
Source (jump to first uncovered line)
1
/* cairo - a vector graphics library with display and print output
2
 *
3
 * Copyright © 2007 Chris Wilson
4
 * Copyright © 2010 Andrea Canciani
5
 *
6
 * This library is free software; you can redistribute it and/or
7
 * modify it either under the terms of the GNU Lesser General Public
8
 * License version 2.1 as published by the Free Software Foundation
9
 * (the "LGPL") or, at your option, under the terms of the Mozilla
10
 * Public License Version 1.1 (the "MPL"). If you do not alter this
11
 * notice, a recipient may use your version of this file under either
12
 * the MPL or the LGPL.
13
 *
14
 * You should have received a copy of the LGPL along with this library
15
 * in the file COPYING-LGPL-2.1; if not, write to the Free Software
16
 * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
17
 * You should have received a copy of the MPL along with this library
18
 * in the file COPYING-MPL-1.1
19
 *
20
 * The contents of this file are subject to the Mozilla Public License
21
 * Version 1.1 (the "License"); you may not use this file except in
22
 * compliance with the License. You may obtain a copy of the License at
23
 * http://www.mozilla.org/MPL/
24
 *
25
 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
26
 * OF ANY KIND, either express or implied. See the LGPL or the MPL for
27
 * the specific language governing rights and limitations.
28
 *
29
 * The Original Code is the cairo graphics library.
30
 *
31
 * The Initial Developer of the Original Code is University of Southern
32
 * California.
33
 *
34
 * Contributor(s):
35
 *  Chris Wilson <chris@chris-wilson.co.uk>
36
 *  Andrea Canciani <ranma42@gmail.com>
37
 */
38
39
#ifndef CAIRO_ATOMIC_PRIVATE_H
40
#define CAIRO_ATOMIC_PRIVATE_H
41
42
#include "cairo-compiler-private.h"
43
44
#include "config.h"
45
46
#include <assert.h>
47
48
/* The autoconf on OpenBSD 4.5 produces the malformed constant name
49
 * SIZEOF_VOID__ rather than SIZEOF_VOID_P.  Work around that here. */
50
#if !defined(SIZEOF_VOID_P) && defined(SIZEOF_VOID__)
51
# define SIZEOF_VOID_P SIZEOF_VOID__
52
#endif
53
54
CAIRO_BEGIN_DECLS
55
56
/* C++11 atomic primitives were designed to be more flexible than the
57
 * __sync_* family of primitives.  Despite the name, they are available
58
 * in C as well as C++.  The motivating reason for using them is that
59
 * for _cairo_atomic_{int,ptr}_get, the compiler is able to see that
60
 * the load is intended to be atomic, as opposed to the __sync_*
61
 * version, below, where the load looks like a plain load.  Having
62
 * the load appear atomic to the compiler is particular important for
63
 * tools like ThreadSanitizer so they don't report false positives on
64
 * memory operations that we intend to be atomic.
65
 */
66
#if HAVE_CXX11_ATOMIC_PRIMITIVES
67
68
#define HAS_ATOMIC_OPS 1
69
70
typedef int cairo_atomic_int_t;
71
72
static cairo_always_inline cairo_atomic_int_t
73
_cairo_atomic_int_get (cairo_atomic_int_t *x)
74
151M
{
75
151M
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
76
151M
}
cairo-font-face.c:_cairo_atomic_int_get
Line
Count
Source
74
99.8k
{
75
99.8k
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
76
99.8k
}
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-path.c:_cairo_atomic_int_get
cairo-pattern.c:_cairo_atomic_int_get
Line
Count
Source
74
35.6M
{
75
35.6M
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
76
35.6M
}
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_int_get
cairo-scaled-font.c:_cairo_atomic_int_get
Line
Count
Source
74
9.87M
{
75
9.87M
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
76
9.87M
}
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_int_get
cairo-surface.c:_cairo_atomic_int_get
Line
Count
Source
74
87.5M
{
75
87.5M
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
76
87.5M
}
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-version.c:_cairo_atomic_int_get
cairo.c:_cairo_atomic_int_get
Line
Count
Source
74
16.2M
{
75
16.2M
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
76
16.2M
}
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-array.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-clip.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-color.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-default-context.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-device.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-error.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-freed-pool.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_int_get
cairo-image-compositor.c:_cairo_atomic_int_get
Line
Count
Source
74
2.39M
{
75
2.39M
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
76
2.39M
}
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-line.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_int_get
cairo-paginated-surface.c:_cairo_atomic_int_get
Line
Count
Source
74
2
{
75
2
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
76
2
}
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_int_get
cairo-region.c:_cairo_atomic_int_get
Line
Count
Source
74
53.1k
{
75
53.1k
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
76
53.1k
}
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_int_get
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_int_get
77
78
static cairo_always_inline cairo_atomic_int_t
79
_cairo_atomic_int_get_relaxed (cairo_atomic_int_t *x)
80
26.3M
{
81
26.3M
    return __atomic_load_n(x, __ATOMIC_RELAXED);
82
26.3M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-path.c:_cairo_atomic_int_get_relaxed
cairo-pattern.c:_cairo_atomic_int_get_relaxed
Line
Count
Source
80
6.88M
{
81
6.88M
    return __atomic_load_n(x, __ATOMIC_RELAXED);
82
6.88M
}
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-scaled-font.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-surface.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-version.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-array.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_int_get_relaxed
cairo-clip.c:_cairo_atomic_int_get_relaxed
Line
Count
Source
80
3.20M
{
81
3.20M
    return __atomic_load_n(x, __ATOMIC_RELAXED);
82
3.20M
}
Unexecuted instantiation: cairo-color.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_int_get_relaxed
cairo-default-context.c:_cairo_atomic_int_get_relaxed
Line
Count
Source
80
16.2M
{
81
16.2M
    return __atomic_load_n(x, __ATOMIC_RELAXED);
82
16.2M
}
Unexecuted instantiation: cairo-device.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-error.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-freed-pool.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-image-compositor.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-line.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-region.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_int_get_relaxed
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_int_get_relaxed
83
84
static cairo_always_inline void
85
_cairo_atomic_int_set_relaxed (cairo_atomic_int_t *x, cairo_atomic_int_t val)
86
26.3M
{
87
26.3M
    __atomic_store_n(x, val, __ATOMIC_RELAXED);
88
26.3M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-path.c:_cairo_atomic_int_set_relaxed
cairo-pattern.c:_cairo_atomic_int_set_relaxed
Line
Count
Source
86
6.88M
{
87
6.88M
    __atomic_store_n(x, val, __ATOMIC_RELAXED);
88
6.88M
}
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-scaled-font.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-surface.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-version.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-array.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_int_set_relaxed
cairo-clip.c:_cairo_atomic_int_set_relaxed
Line
Count
Source
86
3.20M
{
87
3.20M
    __atomic_store_n(x, val, __ATOMIC_RELAXED);
88
3.20M
}
Unexecuted instantiation: cairo-color.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_int_set_relaxed
cairo-default-context.c:_cairo_atomic_int_set_relaxed
Line
Count
Source
86
16.2M
{
87
16.2M
    __atomic_store_n(x, val, __ATOMIC_RELAXED);
88
16.2M
}
Unexecuted instantiation: cairo-device.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-error.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_int_set_relaxed
cairo-freed-pool.c:_cairo_atomic_int_set_relaxed
Line
Count
Source
86
86
{
87
86
    __atomic_store_n(x, val, __ATOMIC_RELAXED);
88
86
}
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-image-compositor.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-line.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-region.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_int_set_relaxed
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_int_set_relaxed
89
90
static cairo_always_inline void *
91
_cairo_atomic_ptr_get (void **x)
92
13.1M
{
93
13.1M
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
94
13.1M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-path.c:_cairo_atomic_ptr_get
cairo-pattern.c:_cairo_atomic_ptr_get
Line
Count
Source
92
3.44M
{
93
3.44M
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
94
3.44M
}
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-scaled-font.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-surface.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-version.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-array.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_ptr_get
cairo-clip.c:_cairo_atomic_ptr_get
Line
Count
Source
92
1.60M
{
93
1.60M
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
94
1.60M
}
Unexecuted instantiation: cairo-color.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_ptr_get
cairo-default-context.c:_cairo_atomic_ptr_get
Line
Count
Source
92
8.13M
{
93
8.13M
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
94
8.13M
}
Unexecuted instantiation: cairo-device.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-error.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_ptr_get
cairo-freed-pool.c:_cairo_atomic_ptr_get
Line
Count
Source
92
1.37k
{
93
1.37k
    return __atomic_load_n(x, __ATOMIC_SEQ_CST);
94
1.37k
}
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-image-compositor.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-line.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-region.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_ptr_get
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_ptr_get
95
96
25.8M
# define _cairo_atomic_int_inc(x) ((void) __atomic_fetch_add(x, 1, __ATOMIC_SEQ_CST))
97
# define _cairo_atomic_int_dec(x) ((void) __atomic_fetch_sub(x, 1, __ATOMIC_SEQ_CST))
98
39.8M
# define _cairo_atomic_int_dec_and_test(x) (__atomic_fetch_sub(x, 1, __ATOMIC_SEQ_CST) == 1)
99
100
#if SIZEOF_VOID_P==SIZEOF_INT
101
typedef int cairo_atomic_intptr_t;
102
#elif SIZEOF_VOID_P==SIZEOF_LONG
103
typedef long cairo_atomic_intptr_t;
104
#elif SIZEOF_VOID_P==SIZEOF_LONG_LONG
105
typedef long long cairo_atomic_intptr_t;
106
#else
107
#error No matching integer pointer type
108
#endif
109
110
static cairo_always_inline cairo_bool_t
111
_cairo_atomic_int_cmpxchg_impl(cairo_atomic_int_t *x,
112
             cairo_atomic_int_t oldv,
113
             cairo_atomic_int_t newv)
114
2.41M
{
115
2.41M
    cairo_atomic_int_t expected = oldv;
116
2.41M
    return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
117
2.41M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-path.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-pattern.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-scaled-font.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_int_cmpxchg_impl
cairo-surface.c:_cairo_atomic_int_cmpxchg_impl
Line
Count
Source
114
2.41M
{
115
2.41M
    cairo_atomic_int_t expected = oldv;
116
2.41M
    return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
117
2.41M
}
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-version.c:_cairo_atomic_int_cmpxchg_impl
cairo.c:_cairo_atomic_int_cmpxchg_impl
Line
Count
Source
114
1.35k
{
115
1.35k
    cairo_atomic_int_t expected = oldv;
116
1.35k
    return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
117
1.35k
}
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-array.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-clip.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-color.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-default-context.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-device.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-error.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-freed-pool.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_int_cmpxchg_impl
cairo-image-compositor.c:_cairo_atomic_int_cmpxchg_impl
Line
Count
Source
114
248
{
115
248
    cairo_atomic_int_t expected = oldv;
116
248
    return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
117
248
}
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-line.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-region.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_int_cmpxchg_impl
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_int_cmpxchg_impl
118
119
#define _cairo_atomic_int_cmpxchg(x, oldv, newv) \
120
2.41M
  _cairo_atomic_int_cmpxchg_impl(x, oldv, newv)
121
122
static cairo_always_inline cairo_atomic_int_t
123
_cairo_atomic_int_cmpxchg_return_old_impl(cairo_atomic_int_t *x,
124
            cairo_atomic_int_t oldv,
125
            cairo_atomic_int_t newv)
126
25.0k
{
127
25.0k
    cairo_atomic_int_t expected = oldv;
128
25.0k
    (void) __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
129
25.0k
    return expected;
130
25.0k
}
cairo-font-face.c:_cairo_atomic_int_cmpxchg_return_old_impl
Line
Count
Source
126
25.0k
{
127
25.0k
    cairo_atomic_int_t expected = oldv;
128
25.0k
    (void) __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
129
25.0k
    return expected;
130
25.0k
}
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-pattern.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-scaled-font.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-surface.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-version.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-array.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-clip.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-color.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-default-context.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-device.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-error.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-freed-pool.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-image-compositor.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-line.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-region.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_int_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_int_cmpxchg_return_old_impl
131
132
#define _cairo_atomic_int_cmpxchg_return_old(x, oldv, newv) \
133
25.0k
  _cairo_atomic_int_cmpxchg_return_old_impl(x, oldv, newv)
134
135
static cairo_always_inline cairo_bool_t
136
_cairo_atomic_ptr_cmpxchg_impl(void **x, void *oldv, void *newv)
137
26.3M
{
138
26.3M
    void *expected = oldv;
139
26.3M
    return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
140
26.3M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-path.c:_cairo_atomic_ptr_cmpxchg_impl
cairo-pattern.c:_cairo_atomic_ptr_cmpxchg_impl
Line
Count
Source
137
6.88M
{
138
6.88M
    void *expected = oldv;
139
6.88M
    return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
140
6.88M
}
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-scaled-font.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-surface.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-version.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-array.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_ptr_cmpxchg_impl
cairo-clip.c:_cairo_atomic_ptr_cmpxchg_impl
Line
Count
Source
137
3.20M
{
138
3.20M
    void *expected = oldv;
139
3.20M
    return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
140
3.20M
}
Unexecuted instantiation: cairo-color.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_ptr_cmpxchg_impl
cairo-default-context.c:_cairo_atomic_ptr_cmpxchg_impl
Line
Count
Source
137
16.2M
{
138
16.2M
    void *expected = oldv;
139
16.2M
    return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
140
16.2M
}
Unexecuted instantiation: cairo-device.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-error.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_ptr_cmpxchg_impl
cairo-freed-pool.c:_cairo_atomic_ptr_cmpxchg_impl
Line
Count
Source
137
1.37k
{
138
1.37k
    void *expected = oldv;
139
1.37k
    return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
140
1.37k
}
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-image-compositor.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-line.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-region.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_ptr_cmpxchg_impl
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_ptr_cmpxchg_impl
141
142
#define _cairo_atomic_ptr_cmpxchg(x, oldv, newv) \
143
26.3M
  _cairo_atomic_ptr_cmpxchg_impl(x, oldv, newv)
144
145
static cairo_always_inline void *
146
_cairo_atomic_ptr_cmpxchg_return_old_impl(void **x, void *oldv, void *newv)
147
0
{
148
0
    void *expected = oldv;
149
0
    (void) __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
150
0
    return expected;
151
0
}
Unexecuted instantiation: cairo-font-face.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-pattern.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-scaled-font.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-version.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-array.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-clip.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-color.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-default-context.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-device.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-error.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-freed-pool.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-image-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-line.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-region.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_ptr_cmpxchg_return_old_impl
152
153
#define _cairo_atomic_ptr_cmpxchg_return_old(x, oldv, newv) \
154
  _cairo_atomic_ptr_cmpxchg_return_old_impl(x, oldv, newv)
155
156
#endif
157
158
#if HAVE_GCC_LEGACY_ATOMICS
159
160
#define HAS_ATOMIC_OPS 1
161
162
typedef int cairo_atomic_int_t;
163
164
static cairo_always_inline cairo_atomic_int_t
165
_cairo_atomic_int_get (cairo_atomic_int_t *x)
166
{
167
    __sync_synchronize ();
168
    return *x;
169
}
170
171
static cairo_always_inline cairo_atomic_int_t
172
_cairo_atomic_int_get_relaxed (cairo_atomic_int_t *x)
173
{
174
    return *x;
175
}
176
177
static cairo_always_inline void
178
_cairo_atomic_int_set_relaxed (cairo_atomic_int_t *x, cairo_atomic_int_t val)
179
{
180
    *x = val;
181
}
182
183
static cairo_always_inline void *
184
_cairo_atomic_ptr_get (void **x)
185
{
186
    __sync_synchronize ();
187
    return *x;
188
}
189
190
# define _cairo_atomic_int_inc(x) ((void) __sync_fetch_and_add(x, 1))
191
# define _cairo_atomic_int_dec(x) ((void) __sync_fetch_and_add(x, -1))
192
# define _cairo_atomic_int_dec_and_test(x) (__sync_fetch_and_add(x, -1) == 1)
193
# define _cairo_atomic_int_cmpxchg(x, oldv, newv) __sync_bool_compare_and_swap (x, oldv, newv)
194
# define _cairo_atomic_int_cmpxchg_return_old(x, oldv, newv) __sync_val_compare_and_swap (x, oldv, newv)
195
196
#if SIZEOF_VOID_P==SIZEOF_INT
197
typedef int cairo_atomic_intptr_t;
198
#elif SIZEOF_VOID_P==SIZEOF_LONG
199
typedef long cairo_atomic_intptr_t;
200
#elif SIZEOF_VOID_P==SIZEOF_LONG_LONG
201
typedef long long cairo_atomic_intptr_t;
202
#else
203
#error No matching integer pointer type
204
#endif
205
206
# define _cairo_atomic_ptr_cmpxchg(x, oldv, newv) \
207
    __sync_bool_compare_and_swap ((cairo_atomic_intptr_t*)x, (cairo_atomic_intptr_t)oldv, (cairo_atomic_intptr_t)newv)
208
209
# define _cairo_atomic_ptr_cmpxchg_return_old(x, oldv, newv) \
210
    _cairo_atomic_intptr_to_voidptr (__sync_val_compare_and_swap ((cairo_atomic_intptr_t*)x, (cairo_atomic_intptr_t)oldv, (cairo_atomic_intptr_t)newv))
211
212
#endif
213
214
#if HAVE_LIB_ATOMIC_OPS
215
#include <atomic_ops.h>
216
217
#define HAS_ATOMIC_OPS 1
218
219
typedef  AO_t cairo_atomic_int_t;
220
221
# define _cairo_atomic_int_get(x) (AO_load_full (x))
222
# define _cairo_atomic_int_get_relaxed(x) (AO_load_full (x))
223
# define _cairo_atomic_int_set_relaxed(x, val) (AO_store_full ((x), (val)))
224
225
# define _cairo_atomic_int_inc(x) ((void) AO_fetch_and_add1_full(x))
226
# define _cairo_atomic_int_dec(x) ((void) AO_fetch_and_sub1_full(x))
227
# define _cairo_atomic_int_dec_and_test(x) (AO_fetch_and_sub1_full(x) == 1)
228
# define _cairo_atomic_int_cmpxchg(x, oldv, newv) AO_compare_and_swap_full(x, oldv, newv)
229
230
#if SIZEOF_VOID_P==SIZEOF_INT
231
typedef unsigned int cairo_atomic_intptr_t;
232
#elif SIZEOF_VOID_P==SIZEOF_LONG
233
typedef unsigned long cairo_atomic_intptr_t;
234
#elif SIZEOF_VOID_P==SIZEOF_LONG_LONG
235
typedef unsigned long long cairo_atomic_intptr_t;
236
#else
237
#error No matching integer pointer type
238
#endif
239
240
# define _cairo_atomic_ptr_get(x) _cairo_atomic_intptr_to_voidptr (AO_load_full (x))
241
# define _cairo_atomic_ptr_cmpxchg(x, oldv, newv) \
242
    _cairo_atomic_int_cmpxchg ((cairo_atomic_intptr_t*)(x), (cairo_atomic_intptr_t)oldv, (cairo_atomic_intptr_t)newv)
243
244
#endif
245
246
#if HAVE_OS_ATOMIC_OPS
247
#include <libkern/OSAtomic.h>
248
249
#define HAS_ATOMIC_OPS 1
250
251
typedef int32_t cairo_atomic_int_t;
252
253
# define _cairo_atomic_int_get(x) (OSMemoryBarrier(), *(x))
254
# define _cairo_atomic_int_get_relaxed(x) *(x)
255
# define _cairo_atomic_int_set_relaxed(x, val) *(x) = (val)
256
257
# define _cairo_atomic_int_inc(x) ((void) OSAtomicIncrement32Barrier (x))
258
# define _cairo_atomic_int_dec(x) ((void) OSAtomicDecrement32Barrier (x))
259
# define _cairo_atomic_int_dec_and_test(x) (OSAtomicDecrement32Barrier (x) == 0)
260
# define _cairo_atomic_int_cmpxchg(x, oldv, newv) OSAtomicCompareAndSwap32Barrier(oldv, newv, x)
261
262
#if SIZEOF_VOID_P==4
263
typedef int32_t cairo_atomic_intptr_t;
264
# define _cairo_atomic_ptr_cmpxchg(x, oldv, newv) \
265
    OSAtomicCompareAndSwap32Barrier((cairo_atomic_intptr_t)oldv, (cairo_atomic_intptr_t)newv, (cairo_atomic_intptr_t *)x)
266
267
#elif SIZEOF_VOID_P==8
268
typedef int64_t cairo_atomic_intptr_t;
269
# define _cairo_atomic_ptr_cmpxchg(x, oldv, newv) \
270
    OSAtomicCompareAndSwap64Barrier((cairo_atomic_intptr_t)oldv, (cairo_atomic_intptr_t)newv, (cairo_atomic_intptr_t *)x)
271
272
#else
273
#error No matching integer pointer type
274
#endif
275
276
# define _cairo_atomic_ptr_get(x) (OSMemoryBarrier(), *(x))
277
278
#endif
279
280
#if !defined(HAS_ATOMIC_OPS) && defined(_WIN32)
281
#include <windows.h>
282
283
#define HAS_ATOMIC_OPS 1
284
285
typedef int32_t cairo_atomic_int_t;
286
287
#if SIZEOF_VOID_P==SIZEOF_INT
288
typedef unsigned int cairo_atomic_intptr_t;
289
#elif SIZEOF_VOID_P==SIZEOF_LONG
290
typedef unsigned long cairo_atomic_intptr_t;
291
#elif SIZEOF_VOID_P==SIZEOF_LONG_LONG
292
typedef unsigned long long cairo_atomic_intptr_t;
293
#else
294
#error No matching integer pointer type
295
#endif
296
297
static cairo_always_inline cairo_atomic_int_t
298
_cairo_atomic_int_get (cairo_atomic_int_t *x)
299
{
300
    MemoryBarrier ();
301
    return *x;
302
}
303
304
# define _cairo_atomic_int_get_relaxed(x) *(x)
305
# define _cairo_atomic_int_set_relaxed(x, val) *(x) = (val)
306
307
# define _cairo_atomic_int_inc(x) ((void) InterlockedIncrement (x))
308
# define _cairo_atomic_int_dec(x) ((void) InterlockedDecrement (x))
309
# define _cairo_atomic_int_dec_and_test(x) (InterlockedDecrement (x) == 0)
310
311
static cairo_always_inline cairo_bool_t
312
_cairo_atomic_int_cmpxchg (cairo_atomic_int_t *x,
313
                           cairo_atomic_int_t oldv,
314
                           cairo_atomic_int_t newv)
315
{
316
    return InterlockedCompareExchange ((unsigned int*)x, (unsigned int)newv, (unsigned int)oldv) == oldv;
317
}
318
319
static cairo_always_inline void *
320
_cairo_atomic_ptr_get (void **x)
321
{
322
    MemoryBarrier ();
323
    return *x;
324
}
325
326
static cairo_always_inline cairo_bool_t
327
_cairo_atomic_ptr_cmpxchg (void **x, void *oldv, void *newv)
328
{
329
    return InterlockedCompareExchangePointer (x, newv, oldv) == oldv;
330
}
331
332
static cairo_always_inline void *
333
_cairo_atomic_ptr_cmpxchg_return_old (void **x, void *oldv, void *newv)
334
{
335
    return InterlockedCompareExchangePointer (x, newv, oldv);
336
}
337
338
#endif /* !defined(HAS_ATOMIC_OPS) && defined(_WIN32) */
339
340
341
#ifndef HAS_ATOMIC_OPS
342
343
#if SIZEOF_VOID_P==SIZEOF_INT
344
typedef unsigned int cairo_atomic_intptr_t;
345
#elif SIZEOF_VOID_P==SIZEOF_LONG
346
typedef unsigned long cairo_atomic_intptr_t;
347
#elif SIZEOF_VOID_P==SIZEOF_LONG_LONG
348
typedef unsigned long long cairo_atomic_intptr_t;
349
#else
350
#error No matching integer pointer type
351
#endif
352
353
typedef cairo_atomic_intptr_t cairo_atomic_int_t;
354
355
cairo_private void
356
_cairo_atomic_int_inc (cairo_atomic_int_t *x);
357
358
#define _cairo_atomic_int_dec(x) _cairo_atomic_int_dec_and_test(x)
359
360
cairo_private cairo_bool_t
361
_cairo_atomic_int_dec_and_test (cairo_atomic_int_t *x);
362
363
cairo_private cairo_atomic_int_t
364
_cairo_atomic_int_cmpxchg_return_old_impl (cairo_atomic_int_t *x, cairo_atomic_int_t oldv, cairo_atomic_int_t newv);
365
366
cairo_private void *
367
_cairo_atomic_ptr_cmpxchg_return_old_impl (void **x, void *oldv, void *newv);
368
369
#define _cairo_atomic_int_cmpxchg_return_old(x, oldv, newv) _cairo_atomic_int_cmpxchg_return_old_impl (x, oldv, newv)
370
#define _cairo_atomic_ptr_cmpxchg_return_old(x, oldv, newv) _cairo_atomic_ptr_cmpxchg_return_old_impl (x, oldv, newv)
371
372
#ifdef ATOMIC_OP_NEEDS_MEMORY_BARRIER
373
cairo_private cairo_atomic_int_t
374
_cairo_atomic_int_get (cairo_atomic_int_t *x);
375
cairo_private cairo_atomic_int_t
376
_cairo_atomic_int_get_relaxed (cairo_atomic_int_t *x);
377
void
378
_cairo_atomic_int_set_relaxed (cairo_atomic_int_t *x, cairo_atomic_int_t val);
379
# define _cairo_atomic_ptr_get(x) (void *) _cairo_atomic_int_get((cairo_atomic_int_t *) x)
380
#else
381
# define _cairo_atomic_int_get(x) (*x)
382
# define _cairo_atomic_int_get_relaxed(x) (*x)
383
# define _cairo_atomic_int_set_relaxed(x, val) (*x) = (val)
384
# define _cairo_atomic_ptr_get(x) (*x)
385
#endif
386
387
#else
388
389
/* Workaround GCC complaining about casts */
390
static cairo_always_inline void *
391
_cairo_atomic_intptr_to_voidptr (cairo_atomic_intptr_t x)
392
0
{
393
0
  return (void *) x;
394
0
}
Unexecuted instantiation: cairo-font-face.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-path.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-pattern.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-scaled-font.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-surface.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-version.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-array.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-clip.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-color.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-default-context.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-device.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-error.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-freed-pool.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-image-compositor.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-line.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-region.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_intptr_to_voidptr
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_intptr_to_voidptr
395
396
static cairo_always_inline cairo_atomic_int_t
397
_cairo_atomic_int_cmpxchg_return_old_fallback(cairo_atomic_int_t *x, cairo_atomic_int_t oldv, cairo_atomic_int_t newv)
398
0
{
399
0
    cairo_atomic_int_t curr;
400
0
401
0
    do {
402
0
        curr = _cairo_atomic_int_get (x);
403
0
    } while (curr == oldv && !_cairo_atomic_int_cmpxchg (x, oldv, newv));
404
0
405
0
    return curr;
406
0
}
Unexecuted instantiation: cairo-font-face.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-pattern.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-scaled-font.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-surface.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-version.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-array.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-clip.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-color.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-default-context.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-device.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-error.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-freed-pool.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-image-compositor.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-line.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-region.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_int_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_int_cmpxchg_return_old_fallback
407
408
static cairo_always_inline void *
409
_cairo_atomic_ptr_cmpxchg_return_old_fallback(void **x, void *oldv, void *newv)
410
0
{
411
0
    void *curr;
412
0
413
0
    do {
414
0
        curr = _cairo_atomic_ptr_get (x);
415
0
    } while (curr == oldv && !_cairo_atomic_ptr_cmpxchg (x, oldv, newv));
416
0
417
0
    return curr;
418
0
}
Unexecuted instantiation: cairo-font-face.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-pattern.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-scaled-font.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-version.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-array.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-clip.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-color.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-default-context.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-device.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-error.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-freed-pool.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-image-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-line.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-region.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_ptr_cmpxchg_return_old_fallback
419
#endif
420
421
#ifndef _cairo_atomic_int_cmpxchg_return_old
422
#define _cairo_atomic_int_cmpxchg_return_old(x, oldv, newv) _cairo_atomic_int_cmpxchg_return_old_fallback (x, oldv, newv)
423
#endif
424
425
#ifndef _cairo_atomic_ptr_cmpxchg_return_old
426
#define _cairo_atomic_ptr_cmpxchg_return_old(x, oldv, newv) _cairo_atomic_ptr_cmpxchg_return_old_fallback (x, oldv, newv)
427
#endif
428
429
#ifndef _cairo_atomic_int_cmpxchg
430
#define _cairo_atomic_int_cmpxchg(x, oldv, newv) (_cairo_atomic_int_cmpxchg_return_old (x, oldv, newv) == oldv)
431
#endif
432
433
#ifndef _cairo_atomic_ptr_cmpxchg
434
#define _cairo_atomic_ptr_cmpxchg(x, oldv, newv) (_cairo_atomic_ptr_cmpxchg_return_old (x, oldv, newv) == oldv)
435
#endif
436
437
2.41M
#define _cairo_atomic_uint_get(x) _cairo_atomic_int_get(x)
438
#define _cairo_atomic_uint_cmpxchg(x, oldv, newv) \
439
2.41M
    _cairo_atomic_int_cmpxchg((cairo_atomic_int_t *)x, oldv, newv)
440
441
1.38k
#define _cairo_status_set_error(status, err) do { \
442
1.38k
    int ret__; \
443
1.38k
    assert (err < CAIRO_STATUS_LAST_STATUS); \
444
1.38k
    /* hide compiler warnings about cairo_status_t != int (gcc treats its as \
445
1.38k
     * an unsigned integer instead, and about ignoring the return value. */  \
446
1.38k
    ret__ = _cairo_atomic_int_cmpxchg ((cairo_atomic_int_t *) status, CAIRO_STATUS_SUCCESS, err); \
447
1.38k
    (void) ret__; \
448
1.38k
} while (0)
449
450
typedef cairo_atomic_int_t cairo_atomic_once_t;
451
452
2.39M
#define CAIRO_ATOMIC_ONCE_UNINITIALIZED (0)
453
#define CAIRO_ATOMIC_ONCE_INITIALIZING  (1)
454
0
#define CAIRO_ATOMIC_ONCE_INITIALIZED   (2)
455
2.39M
#define CAIRO_ATOMIC_ONCE_INIT          CAIRO_ATOMIC_ONCE_UNINITIALIZED
456
457
static cairo_always_inline cairo_bool_t
458
_cairo_atomic_init_once_enter(cairo_atomic_once_t *once)
459
2.39M
{
460
2.39M
    if (likely(_cairo_atomic_int_get(once) == CAIRO_ATOMIC_ONCE_INITIALIZED))
461
2.39M
  return 0;
462
463
124
    if (_cairo_atomic_int_cmpxchg(once,
464
124
          CAIRO_ATOMIC_ONCE_UNINITIALIZED,
465
124
          CAIRO_ATOMIC_ONCE_INITIALIZING))
466
124
  return 1;
467
468
0
    while (_cairo_atomic_int_get(once) != CAIRO_ATOMIC_ONCE_INITIALIZED) {}
469
0
    return 0;
470
124
}
Unexecuted instantiation: cairo-font-face.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-path.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-pattern.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-scaled-font.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-surface.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-version.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-array.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-clip.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-color.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-default-context.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-device.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-error.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-freed-pool.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_init_once_enter
cairo-image-compositor.c:_cairo_atomic_init_once_enter
Line
Count
Source
459
2.39M
{
460
2.39M
    if (likely(_cairo_atomic_int_get(once) == CAIRO_ATOMIC_ONCE_INITIALIZED))
461
2.39M
  return 0;
462
463
124
    if (_cairo_atomic_int_cmpxchg(once,
464
124
          CAIRO_ATOMIC_ONCE_UNINITIALIZED,
465
124
          CAIRO_ATOMIC_ONCE_INITIALIZING))
466
124
  return 1;
467
468
0
    while (_cairo_atomic_int_get(once) != CAIRO_ATOMIC_ONCE_INITIALIZED) {}
469
0
    return 0;
470
124
}
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-line.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-region.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_init_once_enter
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_init_once_enter
471
472
static cairo_always_inline void
473
_cairo_atomic_init_once_leave(cairo_atomic_once_t *once)
474
124
{
475
124
    if (unlikely(!_cairo_atomic_int_cmpxchg(once,
476
124
              CAIRO_ATOMIC_ONCE_INITIALIZING,
477
124
              CAIRO_ATOMIC_ONCE_INITIALIZED)))
478
0
  assert (0 && "incorrect use of _cairo_atomic_init_once API (once != CAIRO_ATOMIC_ONCE_INITIALIZING)");
479
124
}
Unexecuted instantiation: cairo-font-face.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-font-options.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-image-surface.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-matrix.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-misc.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-mutex.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-path.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-pattern.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-recording-surface.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-rectangle.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-scaled-font.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-spline.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-stroke-style.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-surface.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-traps.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-unicode.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-version.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-ft-font.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-tag-stack.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-array.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-boxes.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-cache.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-clip.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-color.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-compositor.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-damage.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-debug.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-default-context.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-device.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-error.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-freed-pool.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-gstate.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-hash.c:_cairo_atomic_init_once_leave
cairo-image-compositor.c:_cairo_atomic_init_once_leave
Line
Count
Source
474
124
{
475
124
    if (unlikely(!_cairo_atomic_int_cmpxchg(once,
476
124
              CAIRO_ATOMIC_ONCE_INITIALIZING,
477
124
              CAIRO_ATOMIC_ONCE_INITIALIZED)))
478
0
  assert (0 && "incorrect use of _cairo_atomic_init_once API (once != CAIRO_ATOMIC_ONCE_INITIALIZING)");
479
124
}
Unexecuted instantiation: cairo-image-info.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-image-source.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-line.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-no-compositor.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-observer.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-output-stream.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-path-bounds.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-path-fill.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-path-fixed.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-path-stroke.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-pen.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-polygon.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-region.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-slope.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-spans.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-surface-offset.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-user-font.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-cff-subset.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-type1-subset.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-arc.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-clip-region.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-clip-surface.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-contour.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-freelist.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-hull.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-wideint.c:_cairo_atomic_init_once_leave
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_atomic_init_once_leave
480
481
CAIRO_END_DECLS
482
483
#endif