Mercurial > sdl-ios-xcode
comparison include/SDL_endian.h @ 4432:77ebcd41b577
Fixed bug 944
Tatu Kilappa 2010-02-11 12:13:20 PST
When compiling with -Wconversion, gcc complains about a cast in SDL_endian.h
that might change the result as we are casting from an int into an Uint16. This
is of course not visible unless we are on a non-x86 platform where the
assembler is not available.
While it's not really an error, the warning is really annoying. To fix, change
SDL_endian.h line 87 to:
return(Uint16)((x<<8)|(x>>8));
Thank you.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 13 Apr 2010 22:01:14 -0700 |
parents | f7b03b6838cb |
children | ab63fdcf66af |
comparison
equal
deleted
inserted
replaced
4429:faa9fc8e7f67 | 4432:77ebcd41b577 |
---|---|
101 } | 101 } |
102 #else | 102 #else |
103 static __inline__ Uint16 | 103 static __inline__ Uint16 |
104 SDL_Swap16(Uint16 x) | 104 SDL_Swap16(Uint16 x) |
105 { | 105 { |
106 return ((x << 8) | (x >> 8)); | 106 return (Uint16)((x << 8) | (x >> 8)); |
107 } | 107 } |
108 #endif | 108 #endif |
109 | 109 |
110 #if defined(__GNUC__) && defined(__i386__) | 110 #if defined(__GNUC__) && defined(__i386__) |
111 static __inline__ Uint32 | 111 static __inline__ Uint32 |
141 } | 141 } |
142 #else | 142 #else |
143 static __inline__ Uint32 | 143 static __inline__ Uint32 |
144 SDL_Swap32(Uint32 x) | 144 SDL_Swap32(Uint32 x) |
145 { | 145 { |
146 return ((x << 24) | ((x << 8) & 0x00FF0000) | ((x >> 8) & 0x0000FF00) | | 146 return (Uint32)((x << 24) | ((x << 8) & 0x00FF0000) | |
147 (x >> 24)); | 147 ((x >> 8) & 0x0000FF00) | (x >> 24)); |
148 } | 148 } |
149 #endif | 149 #endif |
150 | 150 |
151 #ifdef SDL_HAS_64BIT_TYPE | 151 #ifdef SDL_HAS_64BIT_TYPE |
152 #if defined(__GNUC__) && defined(__i386__) | 152 #if defined(__GNUC__) && defined(__i386__) |