From 73da6ab51ef86b89adad28a935ac22bad257b834 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 4 Jun 2008 17:20:25 +0000 Subject: - Removed -Wconversion from compiler options for g++ 4.3, it's behavior has fundamently changed in g++ 4.3 - Added -Wno-empty-body and -Wno-parentheses as compiler flags for g++ 4.3 for *now* (we should think of removing -Wparentheses though) - Fixed some warnings for g++ 4.3 (only for the engines I'm using) svn-id: r32540 --- Makefile | 2 +- backends/platform/sdl/events.cpp | 2 +- backends/platform/sdl/sdl.cpp | 2 +- common/rect.h | 2 +- configure | 6 ++++++ engines/saga/detection.cpp | 4 ++-- engines/saga/saga.h | 10 +++++----- engines/sword2/header.h | 18 +++++++++--------- engines/sword2/object.h | 12 ++++++------ engines/sword2/screen.h | 2 +- gui/eval.cpp | 2 +- 11 files changed, 34 insertions(+), 28 deletions(-) diff --git a/Makefile b/Makefile index d230120bb0..506265032a 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ CXXFLAGS:= -Wall $(CXXFLAGS) # Turn off some annoying and not-so-useful warnings CXXFLAGS+= -Wno-long-long -Wno-multichar -Wno-unknown-pragmas -Wno-reorder # Enable even more warnings... -CXXFLAGS+= -pedantic -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion +CXXFLAGS+= -pedantic -Wpointer-arith -Wcast-qual -Wcast-align CXXFLAGS+= -Wshadow -Wimplicit -Wundef -Wnon-virtual-dtor -Wwrite-strings # Disable RTTI and exceptions, and enabled checking of pointers returned by "new" diff --git a/backends/platform/sdl/events.cpp b/backends/platform/sdl/events.cpp index 9a0a33f45c..a4a72ca380 100644 --- a/backends/platform/sdl/events.cpp +++ b/backends/platform/sdl/events.cpp @@ -148,7 +148,7 @@ void OSystem_SDL::handleKbdMouse() { _km.y_down_count = 1; } - SDL_WarpMouse(_km.x, _km.y); + SDL_WarpMouse((Uint16)_km.x, (Uint16)_km.y); } } } diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp index b750864ad8..be3aaad926 100644 --- a/backends/platform/sdl/sdl.cpp +++ b/backends/platform/sdl/sdl.cpp @@ -406,7 +406,7 @@ bool OSystem_SDL::setSoundCallback(SoundProc proc, void *param) { // about 1/32th of a second. Note that it must be a power of two. // So e.g. at 22050 Hz, we request a sample buffer size of 2048. int samples = 8192; - while (32 * samples >= _samplesPerSec) { + while (16 * samples >= _samplesPerSec) { samples >>= 1; } diff --git a/common/rect.h b/common/rect.h index d88f400039..f71124434a 100644 --- a/common/rect.h +++ b/common/rect.h @@ -61,7 +61,7 @@ struct Point { if (diffy >= 0x1000) return 0xFFFFFF; - return diffx*diffx + diffy*diffy; + return uint(diffx*diffx + diffy*diffy); } }; diff --git a/configure b/configure index 960ed4063f..f91819b7f1 100755 --- a/configure +++ b/configure @@ -943,6 +943,12 @@ if test "$_cxx_major" -ge "3" ; then add_line_to_config_mk 'HAVE_GCC3 = 1' fi; +if test "$_cxx_major" -ge "4" && test "$_cxx_minor" -ge "3" ; then + CXXFLAGS="$CXXFLAGS -Wno-parentheses -Wno-empty-body" +else + CXXFLAGS="$CXXFLAGS -Wconversion" +fi; + add_to_config_mk_if_no $_build_hq_scalers 'DISABLE_HQ_SCALERS = 1' add_to_config_mk_if_no $_build_scalers 'DISABLE_SCALERS = 1' diff --git a/engines/saga/detection.cpp b/engines/saga/detection.cpp index 7fd1024405..9c897d8ebc 100644 --- a/engines/saga/detection.cpp +++ b/engines/saga/detection.cpp @@ -54,8 +54,8 @@ struct SAGAGameDescription { const GamePatchDescription *patchDescriptions; }; -const bool SagaEngine::isBigEndian() const { return (_gameDescription->features & GF_BIG_ENDIAN_DATA) != 0; } -const bool SagaEngine::isMacResources() const { return (getPlatform() == Common::kPlatformMacintosh); } +bool SagaEngine::isBigEndian() const { return (_gameDescription->features & GF_BIG_ENDIAN_DATA) != 0; } +bool SagaEngine::isMacResources() const { return (getPlatform() == Common::kPlatformMacintosh); } const GameResourceDescription *SagaEngine::getResourceDescription() { return _gameDescription->resourceDescription; } const GameSoundInfo *SagaEngine::getVoiceInfo() const { return _gameDescription->voiceInfo; } const GameSoundInfo *SagaEngine::getSfxInfo() const { return _gameDescription->sfxInfo; } diff --git a/engines/saga/saga.h b/engines/saga/saga.h index 4fd789cb4e..4a5fae7ddb 100644 --- a/engines/saga/saga.h +++ b/engines/saga/saga.h @@ -580,15 +580,15 @@ public: _mouseClickCount = 0; } - const bool leftMouseButtonPressed() const { + bool leftMouseButtonPressed() const { return _leftMouseButtonPressed; } - const bool rightMouseButtonPressed() const { + bool rightMouseButtonPressed() const { return _rightMouseButtonPressed; } - const bool mouseButtonPressed() const { + bool mouseButtonPressed() const { return _leftMouseButtonPressed || _rightMouseButtonPressed; } @@ -622,8 +622,8 @@ public: public: bool initGame(void); - const bool isBigEndian() const; - const bool isMacResources() const; + bool isBigEndian() const; + bool isMacResources() const; const GameResourceDescription *getResourceDescription(); const GameSoundInfo *getVoiceInfo() const; const GameSoundInfo *getSfxInfo() const; diff --git a/engines/sword2/header.h b/engines/sword2/header.h index 5100e43de1..8cd8c900f8 100644 --- a/engines/sword2/header.h +++ b/engines/sword2/header.h @@ -56,7 +56,7 @@ struct ResHeader { // compressed) byte name[NAME_LEN]; // Name of object - static const int size() { + static int size() { return 44; } @@ -152,7 +152,7 @@ struct AnimHeader { uint8 feetEndDir; // Direction to start in after running anim uint16 blend; - static const int size() { + static int size() { return 15; } @@ -209,7 +209,7 @@ struct CdtEntry { uint8 frameType; // 0 = print sprite normally with top-left // corner at (x,y), otherwise see below... - static const int size() { + static int size() { return 9; } @@ -250,7 +250,7 @@ struct FrameHeader { uint16 width; // Dimensions of frame uint16 height; - static const int size() { + static int size() { return 8; } @@ -299,7 +299,7 @@ struct MultiScreenHeader { uint32 paletteTable; uint32 maskOffset; - static const int size() { + static int size() { return 36; } @@ -339,7 +339,7 @@ struct ScreenHeader { uint16 height; uint16 noLayers; // number of layer areas - static const int size() { + static int size() { return 6; } @@ -374,7 +374,7 @@ struct LayerHeader { uint32 offset; // where to find mask data (from start of // standard file header) - static const int size() { + static int size() { return 16; } @@ -436,7 +436,7 @@ public: _addr = NULL; } - static const int size() { + static int size() { return 44; } @@ -479,7 +479,7 @@ struct TextHeader { uint32 noOfLines; // how many lines of text are there in this // module - static const int size() { + static int size() { return 4; } diff --git a/engines/sword2/object.h b/engines/sword2/object.h index 57f020eb63..b6b6ca5174 100644 --- a/engines/sword2/object.h +++ b/engines/sword2/object.h @@ -48,7 +48,7 @@ struct ObjectMouse { int32 priority; int32 pointer; // type (or resource id?) of pointer used over this area - static const int size() { + static int size() { return 24; } @@ -91,7 +91,7 @@ public: _addr = addr; } - static const int size() { + static int size() { return 8; } @@ -139,7 +139,7 @@ public: _addr = addr; } - static const int size() { + static int size() { return 12; } @@ -178,7 +178,7 @@ public: _addr = addr; } - static const int size() { + static int size() { return 36; } @@ -240,7 +240,7 @@ public: _addr = addr; } - static const int size() { + static int size() { return 56; } @@ -291,7 +291,7 @@ struct ObjectWalkdata { int32 dx[8 * (12 + 1)]; // walk step distances in x direction int32 dy[8 * (12 + 1)]; // walk step distances in y direction - static const int size() { + static int size() { return 916; } diff --git a/engines/sword2/screen.h b/engines/sword2/screen.h index 93cc5e40ce..6defe51fdc 100644 --- a/engines/sword2/screen.h +++ b/engines/sword2/screen.h @@ -187,7 +187,7 @@ struct Parallax { // The dimensions are followed by an offset table, but we don't know in // advance how big it is. See initializeBackgroundLayer(). - static const int size() { + static int size() { return 4; } diff --git a/gui/eval.cpp b/gui/eval.cpp index a2aec6d0d3..716006c108 100644 --- a/gui/eval.cpp +++ b/gui/eval.cpp @@ -102,7 +102,7 @@ void Eval::level4(int *result) { char op; op = 0; - if ((_tokenType == tDelimiter) && *_token == '+' || *_token == '-') { + if ((_tokenType == tDelimiter) && (*_token == '+' || *_token == '-')) { op = *_token; getToken(); } -- cgit v1.2.3