Latest Posts

Topic: Compilation warnings

einstein13
Avatar
Topic Opener
Joined: 2013-07-28, 23:01
Posts: 1118
Ranking
One Elder of Players
Location: Poland
Posted at: 2015-05-22, 22:59

Hey!

I've compiled Widelands last night. I've succed, but... there were few warnings. I know that there are no errors (so it can compile), but warnings aren't good at all (as I know programming).

[2174/2730] Linking CXX executable src/scripting/test/test_scripting
src/third_party/libthird_party_eris.a(loslib.c.o): In function `os_tmpname':
/home/widelands/Widelands/Test01-B18/widelands/build/../src/third_party/eris/loslib.c:108: warning: the use of `tmpnam' is dangerous, better use `mkstemp'


[2480/2730] Building CXX object src/scripting/CMakeFiles/scripting_logic.dir/persistence.cc.o
In file included from ../src/scripting/eris.h:25:0,
                 from ../src/scripting/persistence.cc:27:
../src/third_party/eris/eris.h:145:38: warning: redundant redeclaration of ‘int luaopen_eris(lua_State*)’ in same scope [-Wredundant-decls]
 LUA_API int luaopen_eris(lua_State* L);
                                      ^
In file included from ../src/third_party/eris/lua.hpp:7:0,
                 from ../src/scripting/lua.h:25,
                 from ../src/scripting/persistence.h:25,
                 from ../src/scripting/persistence.cc:20:
../src/third_party/eris/lualib.h:45:17: warning: previous declaration of ‘int luaopen_eris(lua_State*)’ [-Wredundant-decls]
 LUAMOD_API int (luaopen_eris) (lua_State *L);
                 ^


[2541/2730] Building CXX object src/logic/CMakeFiles/logic.dir/building.cc.o
../src/logic/bob.cc: In member function ‘virtual void Widelands::Bob::log_general_info(const Widelands::EditorGameBase&)’:
../src/logic/bob.cc:1002:30: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::Player*’ [-Wformat=]
  molog("Owner: %p\n", m_owner);
                              ^
../src/logic/bob.cc:1031:65: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::MapObject*’ [-Wformat=]
   molog("* object pointer: %p\n", m_stack[i].objvar1.get(egbase));
                                                                 ^
../src/logic/bob.cc:1039:43: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::Path*’ [-Wformat=]
   molog("\n* path: %p\n",  m_stack[i].path);
                                           ^
../src/logic/bob.cc:1054:43: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::Route*’ [-Wformat=]
   molog("* route: %p\n",  m_stack[i].route);
                                           ^
../src/logic/bob.cc:1056:45: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::Route*’ [-Wformat=]
   molog("* program: %p\n",  m_stack[i].route);
                                             ^


[2545/2730] Building CXX object src/logic/CMakeFiles/logic.dir/cmd_incorporate.cc.o
../src/logic/building.cc: In member function ‘virtual void Widelands::Building::log_general_info(const Widelands::EditorGameBase&)’:
../src/logic/building.cc:811:30: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::Flag*’ [-Wformat=]
  molog("m_flag: %p\n", m_flag);
                              ^
../src/logic/building.cc:824:62: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::MapObject*’ [-Wformat=]
  molog("m_leave_allow.get(): %p\n", m_leave_allow.get(egbase));
                                                              ^


[2563/2730] Building CXX object src/logic/CMakeFiles/logic.dir/instances.cc.o
In file included from ../src/logic/instances.cc:20:0:
../src/logic/instances.h: In constructor ‘Widelands::MapObject::MapObject(const Widelands::MapObjectDescr*)’:
../src/logic/instances.h:366:27: warning: ‘Widelands::MapObject::m_logsink’ will be initialized after [-Wreorder]
  LogSink                * m_logsink;
                           ^
../src/logic/instances.h:288:7: warning:   ‘bool Widelands::MapObject::m_reserved_by_worker’ [-Wreorder]
  bool m_reserved_by_worker;
       ^
../src/logic/instances.cc:357:1: warning:   when initialized here [-Wreorder]
 MapObject::MapObject(const MapObjectDescr * const the_descr) :
 ^


[2565/2730] Building CXX object src/logic/CMakeFiles/logic.dir/map.cc.o
../src/logic/immovable.cc: In member function ‘virtual void Widelands::PlayerImmovable::log_general_info(const Widelands::EditorGameBase&)’:
../src/logic/immovable.cc:1436:26: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::PlayerImmovable*’ [-Wformat=]
  molog("this: %p\n", this);
                          ^
../src/logic/immovable.cc:1437:32: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::Player*’ [-Wformat=]
  molog("m_owner: %p\n", m_owner);
                                ^
../src/logic/immovable.cc:1439:36: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::Economy*’ [-Wformat=]
  molog("m_economy: %p\n", m_economy);
                                    ^


[2595/2730] Building CXX object src/logic/CMakeFiles/logic.dir/worker_program.cc.o
../src/logic/worker.cc: In member function ‘virtual void Widelands::Worker::log_general_info(const Widelands::EditorGameBase&)’:
../src/logic/worker.cc:1078:41: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::Player*’ [-Wformat=]
   molog("* Owner: (%p)\n", &loc->owner());
                                         ^
../src/logic/worker.cc:1080:46: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::Economy*’ [-Wformat=]
   molog("* Economy: %p\n", loc->get_economy());
                                              ^
../src/logic/worker.cc:1085:34: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::Economy*’ [-Wformat=]
  molog("Economy: %p\n", m_economy);
                                  ^
../src/logic/worker.cc:1086:37: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::Transfer*’ [-Wformat=]
  molog("transfer: %p\n",  m_transfer);
                                     ^
../src/logic/worker.cc:1092:72: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::Economy*’ [-Wformat=]
   molog("* m_carried_ware->get_economy() (): %p\n", ware->get_economy());
                                                                        ^
../src/logic/worker.cc:1099:34: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘Widelands::IdleWorkerSupply*’ [-Wformat=]
  molog("m_supply: %p\n", m_supply);
                                  ^


[2630/2730] Building CXX object src/graphic/CMakeFiles/graphic_game_renderer.dir/gl/terrain_program.cc.o
../src/graphic/game_renderer.cc:42:1: warning: multi-line comment [-Wcomment]
 //              / \
 ^
../src/graphic/game_renderer.cc:46:1: warning: multi-line comment [-Wcomment]
 //     \  l / \  r / \
 ^


[2640/2730] Building CXX object src/graphic/CMakeFiles/graphic.dir/text_parser.cc.o
../src/graphic/animation.cc: In member function ‘void DirAnimations::parse(Widelands::MapObjectDescr&, const string&, Profile&, const string&, bool, const string&)’:
../src/graphic/animation.cc:414:69: warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
    snprintf(pictempl, sizeof(pictempl), dirpictempl, dirstrings[dir]);
                                                                     ^
../src/graphic/animation.cc:414:69: warning: format not a string literal, argument types not checked [-Wformat-nonliteral]


[2696/2730] Building CXX object src/economy/CMakeFiles/economy.dir/fleet.cc.o
../src/economy/economy.cc: In member function ‘void Widelands::Economy::remove_request(Widelands::Request&)’:
../src/economy/economy.cc:474:56: warning: format ‘%p’ expects argument of type ‘void*’, but argument 2 has type ‘Widelands::Request*’ [-Wformat=]
   log("WARNING: remove_request(%p) not in list\n", &req);
                                                        ^


[2708/2730] Building CXX object src/economy/CMakeFiles/economy.dir/wares_queue.cc.o
../src/economy/ware_instance.cc: In destructor ‘virtual Widelands::WareInstance::~WareInstance()’:
../src/economy/ware_instance.cc:198:65: warning: format ‘%p’ expects argument of type ‘void*’, but argument 4 has type ‘Widelands::IdleWareSupply*’ [-Wformat=]
   molog("Ware %u still has supply %p\n", m_descr_index, m_supply);
                                                                 ^

I don't have doxygen for documentation (it is not included in the list here, which I used)


einstein13
calculations & maps packages: http://wuatek.no-ip.org/~rak/widelands/
backup website files: http://kartezjusz.ddns.net/upload/widelands/

Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 14:56
Posts: 3324
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2015-05-23, 08:07

Thanks!

We already have a bug for it though: https://bugs.launchpad.net/widelands/+bug/1455763

Annoyingly, the format ‘%p’ errors can't be fixed face-sad.png


Busy indexing nil values

Top Quote