Mercurial > sdl-ios-xcode
annotate test/testtypes.c @ 1167:435c2e481299
Date: Sat, 05 Nov 2005 17:46:48 +0900
From: Hayashi Naoyuki
Subject: SDL_numjoysticks: multiply defined
The following linker error is produced when I try to build SDL CVS on Tru64.
ld:
.libs/libSDL.lax/libjoystick.a/SDL_sysjoystick.o: SDL_numjoysticks:
multiply defined
SDL_numjoysticks is defined in both src/joystick/SDL_joystick.c:48: and
SDL12/src/joystick/dummy/SDL_sysjoystick.c:37:.
As a result, compilation produce "multiply defined" errors, when link.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 05 Nov 2005 17:41:11 +0000 |
parents | d93862a3d821 |
children | 835c1831f903 |
rev | line source |
---|---|
0 | 1 |
2 #include <stdio.h> | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
3 #include <stdlib.h> |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
4 #include <string.h> |
47
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
5 #include "SDL_main.h" |
0 | 6 #include "SDL_types.h" |
7 | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
8 /* |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
9 * Watcom C flags these as Warning 201: "Unreachable code" if you just |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
10 * compare them directly, so we push it through a function to keep the |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
11 * compiler quiet. --ryan. |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
12 */ |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
13 static int badsize(size_t sizeoftype, size_t hardcodetype) |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
14 { |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
15 return sizeoftype != hardcodetype; |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
16 } |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
17 |
0 | 18 int main(int argc, char *argv[]) |
19 { | |
20 int error = 0; | |
21 int verbose = 1; | |
22 | |
23 if ( argv[1] && (strcmp(argv[1], "-q") == 0) ) | |
24 verbose = 0; | |
25 | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
26 if ( badsize(sizeof(Uint8), 1) ) { |
0 | 27 if ( verbose ) |
28 printf("sizeof(Uint8) != 1, instead = %d\n", | |
29 sizeof(Uint8)); | |
30 ++error; | |
31 } | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
32 if ( badsize(sizeof(Uint16), 2) ) { |
0 | 33 if ( verbose ) |
34 printf("sizeof(Uint16) != 2, instead = %d\n", | |
35 sizeof(Uint16)); | |
36 ++error; | |
37 } | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
38 if ( badsize(sizeof(Uint32), 4) ) { |
0 | 39 if ( verbose ) |
40 printf("sizeof(Uint32) != 4, instead = %d\n", | |
41 sizeof(Uint32)); | |
42 ++error; | |
43 } | |
44 #ifdef SDL_HAS_64BIT_TYPE | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
45 if ( badsize(sizeof(Uint64), 8) ) { |
0 | 46 if ( verbose ) |
47 printf("sizeof(Uint64) != 8, instead = %d\n", | |
48 sizeof(Uint64)); | |
49 ++error; | |
50 } | |
51 #else | |
52 if ( verbose ) { | |
53 printf("WARNING: No 64-bit datatype on this platform\n"); | |
54 } | |
55 #endif | |
56 if ( verbose && ! error ) | |
57 printf("All data types are the expected size.\n"); | |
58 | |
59 return( error ? 1 : 0 ); | |
60 } |