annotate test/testatomic.c @ 4504:9faebccfefb3

Amazingly the Windows code is almost identical to the Mac OS X code. :)
author Sam Lantinga <slouken@libsdl.org>
date Thu, 08 Jul 2010 23:07:34 -0700
parents 9de326b3099c
children 3a95a2b93eb3
rev   line source
3338
9de326b3099c Fixed bug #817
Sam Lantinga <slouken@libsdl.org>
parents: 3327
diff changeset
1 #include <stdio.h>
3180
77d6336711fc First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
2 #include "SDL.h"
77d6336711fc First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
3
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
4 /* Make sure we have good macros for printing 32 and 64 bit values */
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
5 #ifndef PRIu32
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
6 #define PRIu32 "u"
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
7 #endif
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
8 #ifndef PRIu64
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
9 #ifdef __WIN32__
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
10 #define PRIu64 "I64u"
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
11 #else
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
12 #define PRIu64 "llu"
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
13 #endif
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
14 #endif
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
15
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
16 /*
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
17 Absolutely basic tests just to see if we get the expected value
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
18 after calling each function.
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
19 */
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
20
3338
9de326b3099c Fixed bug #817
Sam Lantinga <slouken@libsdl.org>
parents: 3327
diff changeset
21 char *
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
22 tf(SDL_bool tf)
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
23 {
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
24 static char *t = "true";
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
25 static char *f = "false";
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
26
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
27 if (tf)
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
28 {
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
29 return t;
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
30 }
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
31
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
32 return f;
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
33 }
3338
9de326b3099c Fixed bug #817
Sam Lantinga <slouken@libsdl.org>
parents: 3327
diff changeset
34
3180
77d6336711fc First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
35 int
3299
975fd903466b int testmmousetable.c the arguments to main() are not compatible with what is required in SDL_main.h
Bob Pendleton <bob@pendleton.com>
parents: 3261
diff changeset
36 main(int argc, char *argv[])
3180
77d6336711fc First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
37 {
3186
Sam Lantinga <slouken@libsdl.org>
parents: 3180
diff changeset
38
3216
48a80f2a7ff2 volitile... duh, yeah the variable need to be labeled volitile
Bob Pendleton <bob@pendleton.com>
parents: 3202
diff changeset
39 volatile Uint32 val32 = 0;
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
40 Uint32 ret32 = 0;
3186
Sam Lantinga <slouken@libsdl.org>
parents: 3180
diff changeset
41
3216
48a80f2a7ff2 volitile... duh, yeah the variable need to be labeled volitile
Bob Pendleton <bob@pendleton.com>
parents: 3202
diff changeset
42 volatile Uint64 val64 = 0;
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
43 Uint64 ret64 = 0;
3186
Sam Lantinga <slouken@libsdl.org>
parents: 3180
diff changeset
44
3261
72b542f34739 The new, cleaner, version of the atomic operations. The dummy code is what you should start working with to port atomic ops.
Bob Pendleton <bob@pendleton.com>
parents: 3237
diff changeset
45 SDL_SpinLock lock = 0;
72b542f34739 The new, cleaner, version of the atomic operations. The dummy code is what you should start working with to port atomic ops.
Bob Pendleton <bob@pendleton.com>
parents: 3237
diff changeset
46
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
47 SDL_bool tfret = SDL_FALSE;
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
48
3261
72b542f34739 The new, cleaner, version of the atomic operations. The dummy code is what you should start working with to port atomic ops.
Bob Pendleton <bob@pendleton.com>
parents: 3237
diff changeset
49 printf("\nspin lock---------------------------------------\n\n");
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
50
3261
72b542f34739 The new, cleaner, version of the atomic operations. The dummy code is what you should start working with to port atomic ops.
Bob Pendleton <bob@pendleton.com>
parents: 3237
diff changeset
51 SDL_AtomicLock(&lock);
72b542f34739 The new, cleaner, version of the atomic operations. The dummy code is what you should start working with to port atomic ops.
Bob Pendleton <bob@pendleton.com>
parents: 3237
diff changeset
52 printf("AtomicLock lock=%d\n", lock);
72b542f34739 The new, cleaner, version of the atomic operations. The dummy code is what you should start working with to port atomic ops.
Bob Pendleton <bob@pendleton.com>
parents: 3237
diff changeset
53 SDL_AtomicUnlock(&lock);
72b542f34739 The new, cleaner, version of the atomic operations. The dummy code is what you should start working with to port atomic ops.
Bob Pendleton <bob@pendleton.com>
parents: 3237
diff changeset
54 printf("AtomicUnlock lock=%d\n", lock);
72b542f34739 The new, cleaner, version of the atomic operations. The dummy code is what you should start working with to port atomic ops.
Bob Pendleton <bob@pendleton.com>
parents: 3237
diff changeset
55
72b542f34739 The new, cleaner, version of the atomic operations. The dummy code is what you should start working with to port atomic ops.
Bob Pendleton <bob@pendleton.com>
parents: 3237
diff changeset
56 printf("\n32 bit -----------------------------------------\n\n");
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
57
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
58 val32 = 0;
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
59 tfret = SDL_AtomicTestThenSet32(&val32);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
60 printf("TestThenSet32 tfret=%s val=%"PRIu32"\n", tf(tfret), val32);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
61 tfret = SDL_AtomicTestThenSet32(&val32);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
62 printf("TestThenSet32 tfret=%s val=%"PRIu32"\n", tf(tfret), val32);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
63
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
64 SDL_AtomicClear32(&val32);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
65 printf("Clear32 val=%"PRIu32"\n", val32);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
66
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
67 ret32 = SDL_AtomicFetchThenIncrement32(&val32);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
68 printf("FetchThenIncrement32 ret=%"PRIu32" val=%"PRIu32"\n", ret32, val32);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
69
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
70 ret32 = SDL_AtomicFetchThenDecrement32(&val32);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
71 printf("FetchThenDecrement32 ret=%"PRIu32" val=%"PRIu32"\n", ret32, val32);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
72
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
73 ret32 = SDL_AtomicFetchThenAdd32(&val32, 10);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
74 printf("FetchThenAdd32 ret=%"PRIu32" val=%"PRIu32"\n", ret32, val32);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
75
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
76 ret32 = SDL_AtomicFetchThenSubtract32(&val32, 10);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
77 printf("FetchThenSubtract32 ret=%"PRIu32" val=%"PRIu32"\n", ret32, val32);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
78
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
79 ret32 = SDL_AtomicIncrementThenFetch32(&val32);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
80 printf("IncrementThenFetch32 ret=%"PRIu32" val=%"PRIu32"\n", ret32, val32);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
81
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
82 ret32 = SDL_AtomicDecrementThenFetch32(&val32);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
83 printf("DecrementThenFetch32 ret=%"PRIu32" val=%"PRIu32"\n", ret32, val32);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
84
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
85 ret32 = SDL_AtomicAddThenFetch32(&val32, 10);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
86 printf("AddThenFetch32 ret=%"PRIu32" val=%"PRIu32"\n", ret32, val32);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
87
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
88 ret32 = SDL_AtomicSubtractThenFetch32(&val32, 10);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
89 printf("SubtractThenFetch32 ret=%"PRIu32" val=%"PRIu32"\n", ret32, val32);
3180
77d6336711fc First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
90
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
91 #ifdef SDL_HAS_64BIT_TYPE
3261
72b542f34739 The new, cleaner, version of the atomic operations. The dummy code is what you should start working with to port atomic ops.
Bob Pendleton <bob@pendleton.com>
parents: 3237
diff changeset
92 printf("\n64 bit -----------------------------------------\n\n");
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
93
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
94 val64 = 0;
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
95 tfret = SDL_AtomicTestThenSet64(&val64);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
96 printf("TestThenSet64 tfret=%s val=%"PRIu64"\n", tf(tfret), val64);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
97 tfret = SDL_AtomicTestThenSet64(&val64);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
98 printf("TestThenSet64 tfret=%s val=%"PRIu64"\n", tf(tfret), val64);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
99
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
100 SDL_AtomicClear64(&val64);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
101 printf("Clear64 val=%"PRIu64"\n", val64);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
102
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
103 ret64 = SDL_AtomicFetchThenIncrement64(&val64);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
104 printf("FetchThenIncrement64 ret=%"PRIu64" val=%"PRIu64"\n", ret64, val64);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
105
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
106 ret64 = SDL_AtomicFetchThenDecrement64(&val64);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
107 printf("FetchThenDecrement64 ret=%"PRIu64" val=%"PRIu64"\n", ret64, val64);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
108
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
109 ret64 = SDL_AtomicFetchThenAdd64(&val64, 10);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
110 printf("FetchThenAdd64 ret=%"PRIu64" val=%"PRIu64"\n", ret64, val64);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
111
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
112 ret64 = SDL_AtomicFetchThenSubtract64(&val64, 10);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
113 printf("FetchThenSubtract64 ret=%"PRIu64" val=%"PRIu64"\n", ret64, val64);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
114
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
115 ret64 = SDL_AtomicIncrementThenFetch64(&val64);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
116 printf("IncrementThenFetch64 ret=%"PRIu64" val=%"PRIu64"\n", ret64, val64);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
117
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
118 ret64 = SDL_AtomicDecrementThenFetch64(&val64);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
119 printf("DecrementThenFetch64 ret=%"PRIu64" val=%"PRIu64"\n", ret64, val64);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
120
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
121 ret64 = SDL_AtomicAddThenFetch64(&val64, 10);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
122 printf("AddThenFetch64 ret=%"PRIu64" val=%"PRIu64"\n", ret64, val64);
3202
3aa519a5c676 I've made so many changes I don't dare continue until I check the current stuff in.
Bob Pendleton <bob@pendleton.com>
parents: 3201
diff changeset
123
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
124 ret64 = SDL_AtomicSubtractThenFetch64(&val64, 10);
3327
35387815b155 Better cross-platform macros for printing 32 and 64 bit values
Sam Lantinga <slouken@libsdl.org>
parents: 3325
diff changeset
125 printf("SubtractThenFetch64 ret=%"PRIu64" val=%"PRIu64"\n", ret64, val64);
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
126 #endif
3186
Sam Lantinga <slouken@libsdl.org>
parents: 3180
diff changeset
127
3201
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
128 return 0;
c297230efc75 Disabling 64 bit atomics operations until I figure out why they do not link.
Bob Pendleton <bob@pendleton.com>
parents: 3199
diff changeset
129 }