Mark Scott has proposed merging lp:~hono/widelands/warnings into lp:widelands.
Requested reviews: Widelands Developers (widelands-dev) Related bugs: Bug #825957 in widelands: "Warnings at compile-time (GCC)" https://bugs.launchpad.net/widelands/+bug/825957 For more details, see: https://code.launchpad.net/~hono/widelands/warnings/+merge/142035 Fix or suppress GCC warnings visible when compiling with GCC 4.7.2 Specifically: * compile_diagnostics.h: Introduce macros GCC_DIAG_OFF and GCC_DIAG_ON that disable and then restore reporting of warnings and errors. Used to disable a certain warning for a specific line of code on GCC 4.6+, and to silence warnings in Pluto and Minizip. * gl_surface.cc: Asserts that will never be false because variable is unsigned. * panel.cc: Always-true asserts due to unsigned type. * editorinteractive.cc: Unused variable * listselect.cc: Unused variable * waresdisplay.cc: Unused variable * waresqueuedisplay.cc: Unused variable * graphic.cc: Unused variable and parameter and code that would never be executed. * graphic.h: Unused parameter. Reorder members to match constructor initialization list * ui_fsmenu/base.cc: Unused variable. pull_section() does have side effects, but in this case it is irrelevant as gr_x() and gr_y() in the initializer list will have the same impact. Suspect this existed before gr_x() and gr_y() were put into the initializer. * sdl_surface.cc: cast struct initializers appropriately. * rt_render.cc: cast appropriately to avoid signed/unsigned comparison. * Question existence / correctness of method - seems to be very similar to Rect::contains() but very slightly different in handling of bottom & right edge. * Comment out render() parameter name (unused parameter). * Provide initialisation of all struct members. * sdl_ttf_font_impl.cc: Change type of variable to avoid signed/unsigned comparison. * disk_filesystem.cc: Be specific about the lines to ignore warnings on. * scripting/pluto.cc: Suppress warnings about unused-variables (at top of file) * minizip/unzip.cc: Suppress warnings about old-style-cast (above the non-modification notice) * internet_gaming.cc: Suppress warning about old-style-cast * internet_lobby.cc: Suppress warning about old-style-cast * network_lan_promotion.cc: Suppress warning about old-style-cast * netsetup_lan.cc: Suppress warning about old-style-cast * nethost.cc: Add deletion of 'tips' variable, which (a) fixes a memory leak and (b) silences a warning about an unused variable (it isn't really unused, since it registers itself with the loaderUI in its constructor) * s2map.cc: Use of setiosflags() instead of hex() and dec() silences the sign promotion warnings -- https://code.launchpad.net/~hono/widelands/warnings/+merge/142035 Your team Widelands Developers is requested to review the proposed merge of lp:~hono/widelands/warnings into lp:widelands.
=== added file 'src/compile_diagnostics.h' --- src/compile_diagnostics.h 1970-01-01 00:00:00 +0000 +++ src/compile_diagnostics.h 2013-01-06 13:38:25 +0000 @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2013 by the Widelands Development Team + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ +#ifndef COMPILE_DIAGNOSTICS_H +#define COMPILE_DIAGNOSTICS_H + +/* Macros for disabling GCC warnings and errors + * From http://dbp-consulting.com/tutorials/SuppressingGCCWarnings.html and + * slightly modified to remove support entirely for GCC < 4.6 because we'll + * use in the middle of functions. + */ +#if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 406 +# define GCC_DIAG_STR(s) #s +# define GCC_DIAG_JOINSTR(x, y) GCC_DIAG_STR(x ## y) +# define GCC_DIAG_DO_PRAGMA(x) _Pragma (#x) +# define GCC_DIAG_PRAGMA(x) GCC_DIAG_DO_PRAGMA(GCC diagnostic x) +# define GCC_DIAG_OFF(x) GCC_DIAG_PRAGMA(push) \ + GCC_DIAG_PRAGMA(ignored x) +# define GCC_DIAG_ON(x) GCC_DIAG_PRAGMA(pop) +#else +# define GCC_DIAG_OFF(x) +# define GCC_DIAG_ON(x) +#endif + + +#endif === modified file 'src/editor/editorinteractive.cc' --- src/editor/editorinteractive.cc 2012-12-14 20:09:35 +0000 +++ src/editor/editorinteractive.cc 2013-01-06 13:38:25 +0000 @@ -128,10 +128,8 @@ if (Widelands::Coords const sp = map.get_starting_pos(p)) { const IPicture* pic = g_gr->imgcache().load(PicMod_Game, fname); assert(pic); - uint32_t w = pic->get_w(); - uint32_t h = pic->get_h(); map.overlay_manager().register_overlay - (sp, pic, 8, Point(w / 2, STARTING_POS_HOTSPOT_Y)); + (sp, pic, 8, Point(pic->get_w() / 2, STARTING_POS_HOTSPOT_Y)); } } === modified file 'src/graphic/graphic.cc' --- src/graphic/graphic.cc 2012-12-16 17:06:00 +0000 +++ src/graphic/graphic.cc 2013-01-06 13:38:25 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002-2004, 2006-2012 by the Widelands Development Team + * Copyright (C) 2002-2004, 2006-2013 by the Widelands Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -17,6 +17,7 @@ * */ +#include "compile_diagnostics.h" #include "graphic.h" #include "build_info.h" @@ -242,7 +243,9 @@ log("Graphics: OpenGL: Multitexture capabilities "); log(m_caps.gl.multitexture ? "sufficient\n" : "insufficient, only basic terrain rendering possible\n"); +GCC_DIAG_OFF("-Wold-style-cast") m_caps.gl.blendequation = GLEW_VERSION_1_4 || GLEW_ARB_imaging; +GCC_DIAG_ON ("-Wold-style-cast") } #endif @@ -466,7 +469,6 @@ // First step: compute scaling factors Rect srcrect = Rect(Point(0, 0), src->get_w(), src->get_h()); - Rect destrect = Rect(Point(0, 0), w, h); // Second step: get source material SDL_Surface * srcsdl = 0; @@ -483,7 +485,7 @@ // Third step: perform the zoom and placement SDL_Surface * zoomed = zoomSurface - (srcsdl, double(destrect.w) / srcsdl->w, double(destrect.h) / srcsdl->h, 1); + (srcsdl, double(w) / srcsdl->w, double(h) / srcsdl->h, 1); if (free_source) SDL_FreeSurface(srcsdl); @@ -492,39 +494,28 @@ SDL_Surface * placed = SDL_CreateRGBSurface (SDL_SWSURFACE, w, h, fmt.BitsPerPixel, fmt.Rmask, fmt.Gmask, fmt.Bmask, fmt.Amask); - SDL_Rect srcrc = {0, 0, zoomed->w, zoomed->h}; - SDL_Rect dstrc = {destrect.x, destrect.y}; + SDL_Rect srcrc = + {0, 0, + static_cast<Uint16>(zoomed->w), static_cast<Uint16>(zoomed->h) + }; // For some reason SDL_Surface and SDL_Rect express w,h in different types + SDL_Rect dstrc = {0, 0, 0, 0}; SDL_SetAlpha(zoomed, 0, 0); - SDL_BlitSurface(zoomed, &srcrc, placed, &dstrc); + SDL_BlitSurface(zoomed, &srcrc, placed, &dstrc); // Updates dstrc Uint32 fillcolor = SDL_MapRGBA(zoomed->format, 0, 0, 0, 255); - if (destrect.x > 0) { - dstrc.x = 0; - dstrc.y = destrect.y; - dstrc.w = destrect.x; - dstrc.h = zoomed->h; - SDL_FillRect(placed, &dstrc, fillcolor); - } - if (destrect.x + zoomed->w < placed->w) { - dstrc.x = destrect.x + zoomed->w; - dstrc.y = destrect.y; - dstrc.w = placed->w - destrect.x - zoomed->w; - dstrc.h = zoomed->h; - SDL_FillRect(placed, &dstrc, fillcolor); - } - if (destrect.y > 0) { - dstrc.x = 0; + if (zoomed->w < placed->w) { + dstrc.x = zoomed->w; dstrc.y = 0; - dstrc.w = placed->w; - dstrc.h = destrect.y; + dstrc.w = placed->w - zoomed->w; + dstrc.h = zoomed->h; SDL_FillRect(placed, &dstrc, fillcolor); } - if (destrect.y + zoomed->h < placed->h) { + if (zoomed->h < placed->h) { dstrc.x = 0; - dstrc.y = destrect.y + zoomed->h; + dstrc.y = zoomed->h; dstrc.w = placed->w; - dstrc.h = placed->h - destrect.y - zoomed->h; + dstrc.h = placed->h - zoomed->h; SDL_FillRect(placed, &dstrc, fillcolor); } @@ -857,7 +848,7 @@ /** * Load all animations that are registered with the AnimationManager */ -void Graphic::load_animations(UI::ProgressWindow & loader_ui) { +void Graphic::load_animations() { assert(m_animations.empty()); m_animations.reserve(g_anim.get_nranimations()); === modified file 'src/graphic/graphic.h' --- src/graphic/graphic.h 2012-12-31 11:21:15 +0000 +++ src/graphic/graphic.h 2013-01-06 13:38:25 +0000 @@ -132,7 +132,7 @@ void animate_maptextures(uint32_t time); void reset_texture_animation_reminder(); - void load_animations(UI::ProgressWindow & loader_ui); + void load_animations(); void ensure_animation_loaded(uint32_t anim); AnimationGfx::Index nr_frames(uint32_t anim = 0); uint32_t get_animation_frametime(uint32_t anim) const; @@ -177,15 +177,15 @@ bool m_update_fullscreen; /// stores which features the current renderer has GraphicCaps m_caps; + Road_Textures * m_roadtextures; + const IPicture* m_edgetexture; + std::vector<Texture *> m_maptextures; + std::vector<AnimationGfx *> m_animations; + /// The class that gets images from disk. boost::scoped_ptr<IImageLoader> img_loader_; // The cache holding the images. boost::scoped_ptr<ImageCache> img_cache_; - - Road_Textures * m_roadtextures; - const IPicture* m_edgetexture; - std::vector<Texture *> m_maptextures; - std::vector<AnimationGfx *> m_animations; }; extern Graphic * g_gr; === modified file 'src/graphic/render/gl_surface.cc' --- src/graphic/render/gl_surface.cc 2012-12-15 18:40:59 +0000 +++ src/graphic/render/gl_surface.cc 2013-01-06 13:38:25 +0000 @@ -83,8 +83,6 @@ void GLSurface::fill_rect(const Rect& rc, const RGBAColor clr) { assert(rc.x >= 0); assert(rc.y >= 0); - assert(rc.w >= 0); - assert(rc.h >= 0); assert(g_opengl); glDisable(GL_TEXTURE_2D); glDisable(GL_BLEND); === modified file 'src/graphic/render/sdl_surface.cc' --- src/graphic/render/sdl_surface.cc 2012-12-14 22:09:16 +0000 +++ src/graphic/render/sdl_surface.cc 2013-01-06 13:38:25 +0000 @@ -183,7 +183,10 @@ assert(rc.h >= 1); const uint32_t color = clr.map(format()); - SDL_Rect r = {rc.x, rc.y, rc.w, rc.h}; + SDL_Rect r = { + static_cast<Sint16>(rc.x), static_cast<Sint16>(rc.y), + static_cast<Uint16>(rc.w), static_cast<Uint16>(rc.h) + }; SDL_FillRect(m_surface, &r, color); } @@ -330,8 +333,14 @@ (const Point& dst, const IPicture* src, const Rect& srcrc, Composite cm) { const SDLSurface* sdlsurf = static_cast<const SDLSurface*>(src); - SDL_Rect srcrect = {srcrc.x, srcrc.y, srcrc.w, srcrc.h}; - SDL_Rect dstrect = {dst.x, dst.y, 0, 0}; + SDL_Rect srcrect = { + static_cast<Sint16>(srcrc.x), static_cast<Sint16>(srcrc.y), + static_cast<Uint16>(srcrc.w), static_cast<Uint16>(srcrc.h) + }; + SDL_Rect dstrect = { + static_cast<Sint16>(dst.x), static_cast<Sint16>(dst.y), + 0, 0 + }; bool alpha; uint8_t alphaval; === modified file 'src/graphic/text/rt_render.cc' --- src/graphic/text/rt_render.cc 2012-12-27 17:44:37 +0000 +++ src/graphic/text/rt_render.cc 2013-01-06 13:38:25 +0000 @@ -72,13 +72,17 @@ }; struct Reference { - Rect dim; + Rect dim; // w & h are uint32_t; x & y are int32_t string ref; + // Why isn't Rect::contains() suitable? + // There is a small difference... + // Rect::contains() excludes the bottom and right edges. + // Reference::contains() includes the bottom and right edges inline bool contains(int16_t x, int16_t y) const { - if (dim.x <= x and x <= dim.x + dim.w and dim.y <= y and y <= dim.y + dim.h) - return true; - return false; + return + dim.x <= x && x <= dim.x + static_cast<int32_t>(dim.w) && + dim.y <= y && y <= dim.y + static_cast<int32_t>(dim.h); } }; @@ -393,7 +397,7 @@ virtual uint32_t height() {return 0;} virtual uint32_t width() {return INFINITE_WIDTH; } virtual uint32_t hotspot_y() {return 0;} - virtual IBlitableSurface* render(IGraphic& gr) { + virtual IBlitableSurface* render(IGraphic& /* gr */) { assert(false); // This should never be called } virtual bool is_non_mandatory_space() {return true;} @@ -962,7 +966,8 @@ NodeStyle default_fs = { "DejaVuSerif", 16, - RGBColor(0, 0, 0), IFont::DEFAULT, 0, HALIGN_LEFT, VALIGN_BOTTOM + RGBColor(0, 0, 0), IFont::DEFAULT, 0, HALIGN_LEFT, VALIGN_BOTTOM, + "" }; if (!width) === modified file 'src/graphic/text/sdl_ttf_font_impl.cc' --- src/graphic/text/sdl_ttf_font_impl.cc 2012-12-16 19:08:53 +0000 +++ src/graphic/text/sdl_ttf_font_impl.cc 2013-01-06 13:38:25 +0000 @@ -96,8 +96,8 @@ // the only compatible way to do it using SDL 1.2. SDL 2.0 offers more // functionality but is not yet released. Uint8 sr, sg, sb, sa, dr, dg, db, da, outa, outr = 0, outg = 0, outb = 0; - for (uint32_t y = 0; y < tsurf->h; ++y) { - for (uint32_t x = 0; x < tsurf->w; ++x) { + for (int y = 0; y < tsurf->h; ++y) { + for (int x = 0; x < tsurf->w; ++x) { size_t sidx = (y * tsurf->pitch + 4 * x) / 4; size_t didx = ((y + SHADOW_OFFSET) * text_surface->pitch + (x + SHADOW_OFFSET) * 4) / 4; === modified file 'src/io/filesystem/disk_filesystem.cc' --- src/io/filesystem/disk_filesystem.cc 2012-09-21 21:36:07 +0000 +++ src/io/filesystem/disk_filesystem.cc 2013-01-06 13:38:25 +0000 @@ -16,6 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ +#include "compile_diagnostics.h" #include "disk_filesystem.h" @@ -425,12 +426,6 @@ return data; } -#ifndef _MSC_VER -/// \note The MAP_FAILED macro from glibc uses old-style cast. We can not fix -/// this ourselves, so we temporarily turn the error into a warning. It is -/// turned back into an error after this function. -#pragma GCC diagnostic warning "-Wold-style-cast" -#endif void * RealFSImpl::fastLoad (const std::string & fname, size_t & length, bool & fast) { @@ -455,22 +450,24 @@ data = mmap(0, length, PROT_READ, MAP_PRIVATE, file, 0); //if mmap doesn't work for some strange reason try the old way - if (data == MAP_FAILED) +GCC_DIAG_OFF("-Wold-style-cast") + if (data == MAP_FAILED) { +GCC_DIAG_ON("-Wold-style-cast") return Load(fname, length); + } fast = true; assert(data); +GCC_DIAG_OFF("-Wold-style-cast") assert(data != MAP_FAILED); +GCC_DIAG_ON("-Wold-style-cast") close(file); return data; #endif } -#ifndef _MSC_VER -#pragma GCC diagnostic error "-Wold-style-cast" -#endif /** * Write the given block of memory to the repository. === modified file 'src/logic/editor_game_base.cc' --- src/logic/editor_game_base.cc 2012-09-21 21:36:07 +0000 +++ src/logic/editor_game_base.cc 2013-01-06 13:38:25 +0000 @@ -287,7 +287,7 @@ // TODO: load player graphics? (maybe) - g_gr->load_animations(loader_ui); + g_gr->load_animations(); } /** === modified file 'src/minizip/unzip.cc' --- src/minizip/unzip.cc 2012-04-07 15:12:06 +0000 +++ src/minizip/unzip.cc 2013-01-06 13:38:25 +0000 @@ -1,3 +1,7 @@ +/* Don't want to modify the minizip/zlib sources, so lets silence the warnings */ +#include "compile_diagnostics.h" +GCC_DIAG_OFF("-Wold-style-cast") + /* ================================================================================ === modified file 'src/network/internet_gaming.cc' --- src/network/internet_gaming.cc 2013-01-01 18:05:49 +0000 +++ src/network/internet_gaming.cc 2013-01-06 13:38:25 +0000 @@ -19,6 +19,7 @@ #include "internet_gaming.h" +#include "compile_diagnostics.h" #include "i18n.h" #include "io/filesystem/layered_filesystem.h" #include "internet_gaming_messages.h" @@ -106,7 +107,9 @@ IPaddress peer; if (hostent * const he = gethostbyname(m_meta.c_str())) { peer.host = (reinterpret_cast<in_addr *>(he->h_addr_list[0]))->s_addr; +GCC_DIAG_OFF("-Wold-style-cast") peer.port = htons(m_port); +GCC_DIAG_ON("-Wold-style-cast") } else throw warning (_("Connection problem"), "%s", _("Widelands has not been able to connect to the metaserver.")); === modified file 'src/network/nethost.cc' --- src/network/nethost.cc 2013-01-05 18:43:00 +0000 +++ src/network/nethost.cc 2013-01-06 13:38:25 +0000 @@ -895,6 +895,8 @@ d->settings.savegame ? Widelands::Game::Loaded : d->settings.scenario ? Widelands::Game::NewMPScenario : Widelands::Game::NewNonScenario); + delete tips; + // if this is an internet game, tell the metaserver that the game is done. if (m_internet) InternetGaming::ref().set_game_done(); === modified file 'src/network/network_lan_promotion.cc' --- src/network/network_lan_promotion.cc 2012-02-15 21:25:34 +0000 +++ src/network/network_lan_promotion.cc 2013-01-06 13:38:25 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2010 by the Widelands Development Team + * Copyright (C) 2004-2010,2013 by the Widelands Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -20,6 +20,7 @@ #include "network_lan_promotion.h" #include "build_info.h" +#include "compile_diagnostics.h" #include "constants.h" #include "container_iterate.h" @@ -48,6 +49,8 @@ for (int32_t i = 0; ifnames[i].if_index; ++i) { strncpy (ifr.ifr_name, ifnames[i].if_name, IFNAMSIZ); + +GCC_DIAG_OFF("-Wold-style-cast") if (ioctl(sock, SIOCGIFFLAGS, &ifr) < 0) continue; @@ -56,6 +59,7 @@ if (ioctl(sock, SIOCGIFBRDADDR, &ifr) < 0) continue; +GCC_DIAG_ON("-Wold-style-cast") broadcast_addresses.push_back (reinterpret_cast<sockaddr_in *>(&ifr.ifr_broadaddr) @@ -75,39 +79,34 @@ closesocket (sock); } -/// \note The INADDR_ANY macro from glibc uses old-style cast. We can not fix -/// this ourselves, so we temporarily turn the error into a warning. It is -/// turned back into an error after this function. -#pragma GCC diagnostic warning "-Wold-style-cast" void LAN_Base::bind (uint16_t port) { sockaddr_in addr; + +GCC_DIAG_OFF("-Wold-style-cast") addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY; addr.sin_port = htons(port); +GCC_DIAG_ON("-Wold-style-cast") ::bind (sock, reinterpret_cast<sockaddr *>(&addr), sizeof(addr)); } -#pragma GCC diagnostic error "-Wold-style-cast" -/// \note The FD_SET macro from glibc uses old-style cast. We can not fix this -/// ourselves, so we temporarily turn the error into a warning. It is turned -/// back into an error after this function. -#pragma GCC diagnostic warning "-Wold-style-cast" bool LAN_Base::avail () { fd_set fds; timeval tv; +GCC_DIAG_OFF("-Wold-style-cast") FD_ZERO(&fds); FD_SET(sock, &fds); +GCC_DIAG_ON("-Wold-style-cast") tv.tv_sec = 0; tv.tv_usec = 0; return select(sock + 1, &fds, 0, 0, &tv) == 1; } -#pragma GCC diagnostic error "-Wold-style-cast" ssize_t LAN_Base::recv (void * const buf, size_t const len, sockaddr_in * const addr) @@ -135,9 +134,6 @@ sizeof(sockaddr_in)); } -// FIXME Document why this pragma is needed and what is done about it (see how -// FIXME other uses of this pragmas are documented). -#pragma GCC diagnostic warning "-Wold-style-cast" void LAN_Base::broadcast (void const * const buf, size_t const len, uint16_t const port) { @@ -145,7 +141,9 @@ sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_addr.s_addr = *i.current; +GCC_DIAG_OFF("-Wold-style-cast") addr.sin_port = htons(port); +GCC_DIAG_ON("-Wold-style-cast") sendto (sock, @@ -156,7 +154,6 @@ sizeof(addr)); } } -#pragma GCC diagnostic error "-Wold-style-cast" /*** class LAN_Game_Promoter ***/ @@ -240,9 +237,6 @@ } -// FIXME Document why this pragma is needed and what is done about it (see how -// FIXME other uses of this pragmas are documented). -#pragma GCC diagnostic warning "-Wold-style-cast" void LAN_Game_Finder::run () { while (avail()) { @@ -267,8 +261,10 @@ for (wl_const_range<std::list<Net_Open_Game *> > i(opengames);; ++i) if (i.empty()) { opengames.push_back (new Net_Open_Game); +GCC_DIAG_OFF("-Wold-style-cast") opengames.back()->address = addr.sin_addr.s_addr; opengames.back()->port = htons(WIDELANDS_PORT); +GCC_DIAG_ON("-Wold-style-cast") opengames.back()->info = info; callback (GameOpened, opengames.back(), userdata); break; @@ -280,7 +276,6 @@ } } } -#pragma GCC diagnostic error "-Wold-style-cast" void LAN_Game_Finder::set_callback (void (* const cb)(int32_t, Net_Open_Game const *, void *), void * const ud) === modified file 'src/s2map.cc' --- src/s2map.cc 2012-09-21 21:36:07 +0000 +++ src/s2map.cc 2013-01-06 13:38:25 +0000 @@ -31,14 +31,12 @@ #include "wexception.h" #include <iostream> +#include <iomanip> using std::cerr; +using std::endl; using std::ios; -using std::endl; - -// TEMP -#define hex ios::hex -#define dec ios::dec +using std::setiosflags; // this is a detail of S2 maps #define CRITTER_PER_DEFINITION 1 @@ -328,9 +326,11 @@ default: c = 7; cerr - << "ERROR: Unknown texture1: " << hex << c << dec << " (" + << "ERROR: Unknown texture1: " + << setiosflags(ios::hex) << c + << setiosflags(ios::dec) << " (" << x << "," << y << ") (defaults to water!)" << endl; - break; + break; } f->set_terrain_d(c); } @@ -380,7 +380,9 @@ default: c = 7; cerr - << "ERROR: Unknown texture1: " << hex << c << dec << " (" + << "ERROR: Unknown texture1: " + << setiosflags(ios::hex) << c + << setiosflags(ios::dec) << " (" << x << "," << y << ") (defaults to water!)" << endl; break; } === modified file 'src/scripting/pluto.cc' --- src/scripting/pluto.cc 2012-09-21 21:36:07 +0000 +++ src/scripting/pluto.cc 2013-01-06 13:38:25 +0000 @@ -27,6 +27,11 @@ #include "pluto.h" +// Widelands: silence warnings about unused variables, usually because they +//are only used in conditional asserts +#include "compile_diagnostics.h" +GCC_DIAG_OFF("-Wunused-variable") + // Forward declarated from lua_impl.h. So we do not need to include it int luna_restore_object(lua_State * L); === modified file 'src/ui_basic/listselect.cc' --- src/ui_basic/listselect.cc 2012-12-16 14:29:46 +0000 +++ src/ui_basic/listselect.cc 2013-01-06 13:38:25 +0000 @@ -411,7 +411,6 @@ // Now draw pictures if (er.pic) { - uint32_t w = er.pic->get_w(); uint32_t h = er.pic->get_h(); dst.blit(Point(1, y + (get_lineheight() - h) / 2), er.pic); } === modified file 'src/ui_basic/panel.cc' --- src/ui_basic/panel.cc 2013-01-04 09:59:13 +0000 +++ src/ui_basic/panel.cc 2013-01-06 13:38:25 +0000 @@ -305,8 +305,6 @@ if (_desired_w == w && _desired_h == h) return; - assert(w >= 0); - assert(h >= 0); assert(w < 3000); assert(h < 3000); === modified file 'src/ui_fsmenu/base.cc' --- src/ui_fsmenu/base.cc 2012-12-15 15:18:49 +0000 +++ src/ui_fsmenu/base.cc 2013-01-06 13:38:25 +0000 @@ -54,8 +54,6 @@ : UI::Panel(0, 0, 0, gr_x(), gr_y()), d(new Data) { - Section & s = g_options.pull_section("global"); - // Load background graphics char buffer[256]; snprintf(buffer, sizeof(buffer), "pics/%s", bgpic); === modified file 'src/ui_fsmenu/internet_lobby.cc' --- src/ui_fsmenu/internet_lobby.cc 2012-12-13 10:41:22 +0000 +++ src/ui_fsmenu/internet_lobby.cc 2013-01-06 13:38:25 +0000 @@ -21,6 +21,7 @@ #include <boost/bind.hpp> +#include "compile_diagnostics.h" #include "constants.h" #include "graphic/graphic.h" #include "i18n.h" @@ -399,7 +400,9 @@ IPaddress peer; if (hostent * const he = gethostbyname(ip.c_str())) { peer.host = (reinterpret_cast<in_addr *>(he->h_addr_list[0]))->s_addr; +GCC_DIAG_OFF("-Wold-style-cast") peer.port = htons(WIDELANDS_PORT); +GCC_DIAG_ON("-Wold-style-cast") } else { // Actually the game is not done, but that way we are again listed as in the lobby InternetGaming::ref().set_game_done(); === modified file 'src/ui_fsmenu/netsetup_lan.cc' --- src/ui_fsmenu/netsetup_lan.cc 2012-12-13 10:41:22 +0000 +++ src/ui_fsmenu/netsetup_lan.cc 2013-01-06 13:38:25 +0000 @@ -18,6 +18,8 @@ */ #include "netsetup_lan.h" + +#include "compile_diagnostics.h" #include "constants.h" #include "graphic/graphic.h" #include "i18n.h" @@ -156,7 +158,9 @@ if (hostent * const he = gethostbyname(host.c_str())) { addr = (reinterpret_cast<in_addr *>(he->h_addr_list[0]))->s_addr; +GCC_DIAG_OFF("-Wold-style-cast") port = htons(WIDELANDS_PORT); +GCC_DIAG_ON("-Wold-style-cast") return true; } else return false; === modified file 'src/wui/waresdisplay.cc' --- src/wui/waresdisplay.cc 2012-12-27 17:44:37 +0000 +++ src/wui/waresdisplay.cc 2013-01-06 13:38:25 +0000 @@ -246,7 +246,6 @@ ware_selected(id) ? "pics/ware_list_bg_selected.png" : "pics/ware_list_bg.png"); uint32_t w = bgpic->get_w(); - uint32_t h = bgpic->get_h(); dst.blit(p, bgpic); @@ -410,7 +409,6 @@ // draw a background const IPicture* pic = g_gr->imgcache().load (PicMod_Game, "pics/ware_list_bg.png"); uint32_t w = pic->get_w(); - uint32_t h = pic->get_h(); dst.blit(p, pic); === modified file 'src/wui/waresqueuedisplay.cc' --- src/wui/waresqueuedisplay.cc 2012-12-13 10:41:22 +0000 +++ src/wui/waresqueuedisplay.cc 2013-01-06 13:38:25 +0000 @@ -64,7 +64,6 @@ m_icon_grey = g_gr->create_grayed_out_pic(m_icon); m_icon_grey = g_gr->create_changed_luminosity_pic(m_icon_grey, 0.65); - uint32_t pw = m_max_fill_indicator->get_w(); uint32_t ph = m_max_fill_indicator->get_h(); uint32_t priority_button_height = show_only ? 0 : 3 * PriorityButtonSize;
_______________________________________________ Mailing list: https://launchpad.net/~widelands-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~widelands-dev More help : https://help.launchpad.net/ListHelp

