1.1 --- a/CMakeLists.txt Wed Nov 12 14:11:20 2014 +0100
1.2 +++ b/CMakeLists.txt Thu Apr 02 14:09:21 2015 +0200
1.3 @@ -150,10 +150,13 @@
1.4 SET(CMAKE_C_FLAGS_DEBUG CACHE STRING "-ggdb")
1.5 ELSEIF(MSVC)
1.6 # This part is unnecessary 'casue the same is set by the lemon/core.h.
1.7 - # Still keep it as an example.
1.8 - SET(CXX_WARNING "/wd4250 /wd4355 /wd4503 /wd4800 /wd4996")
1.9 + # Still kept as an example.
1.10 +
1.11 + # SET(CXX_WARNING "/wd4250 /wd4267 /wd4355 /wd4503 /wd4800 /wd4996")
1.12 +
1.13 # Suppressed warnings:
1.14 # C4250: 'class1' : inherits 'class2::member' via dominance
1.15 + # C4267: conversion from 'size_t' to 'type', possible loss of data
1.16 # C4355: 'this' : used in base member initializer list
1.17 # C4503: 'function' : decorated name length exceeded, name was truncated
1.18 # C4800: 'type' : forcing value to bool 'true' or 'false'
1.19 @@ -168,6 +171,7 @@
1.20 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LEMON_CXX_WARNING_FLAGS}")
1.21
1.22 IF(MSVC)
1.23 + SET(CMAKE_CXX_FLAGS "/bigobj ${CMAKE_CXX_FLAGS}")
1.24 SET( CMAKE_CXX_FLAGS_MAINTAINER "/WX ${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING
1.25 "Flags used by the C++ compiler during maintainer builds."
1.26 )
2.1 --- a/cmake/FindILOG.cmake Wed Nov 12 14:11:20 2014 +0100
2.2 +++ b/cmake/FindILOG.cmake Thu Apr 02 14:09:21 2015 +0200
2.3 @@ -62,6 +62,8 @@
2.4 ${ILOG_CPLEX_ROOT_DIR}/lib/x86-64_sles10_4.1/static_pic
2.5 ${ILOG_CPLEX_ROOT_DIR}/lib/x86_debian4.0_4.1/static_pic
2.6 ${ILOG_CPLEX_ROOT_DIR}/lib/x86-64_debian4.0_4.1/static_pic
2.7 + ${ILOG_CPLEX_ROOT_DIR}/lib/x86_linux/static_pic
2.8 + ${ILOG_CPLEX_ROOT_DIR}/lib/x86-64_linux/static_pic
2.9 ${ILOG_CPLEX_ROOT_DIR}/lib/${ILOG_WIN_COMPILER}/stat_mda
2.10 NO_DEFAULT_PATH
2.11 )
2.12 @@ -72,6 +74,8 @@
2.13 ${ILOG_CONCERT_ROOT_DIR}/lib/x86-64_sles10_4.1/static_pic
2.14 ${ILOG_CONCERT_ROOT_DIR}/lib/x86_debian4.0_4.1/static_pic
2.15 ${ILOG_CONCERT_ROOT_DIR}/lib/x86-64_debian4.0_4.1/static_pic
2.16 + ${ILOG_CONCERT_ROOT_DIR}/lib/x86_linux/static_pic
2.17 + ${ILOG_CONCERT_ROOT_DIR}/lib/x86-64_linux/static_pic
2.18 ${ILOG_CONCERT_ROOT_DIR}/lib/${ILOG_WIN_COMPILER}/stat_mda
2.19 NO_DEFAULT_PATH
2.20 )
3.1 --- a/lemon/arg_parser.h Wed Nov 12 14:11:20 2014 +0100
3.2 +++ b/lemon/arg_parser.h Thu Apr 02 14:09:21 2015 +0200
3.3 @@ -26,6 +26,7 @@
3.4 #include <iostream>
3.5 #include <sstream>
3.6 #include <algorithm>
3.7 +#include <lemon/core.h>
3.8 #include <lemon/assert.h>
3.9
3.10 ///\ingroup misc
4.1 --- a/lemon/core.h Wed Nov 12 14:11:20 2014 +0100
4.2 +++ b/lemon/core.h Thu Apr 02 14:09:21 2015 +0200
4.3 @@ -29,21 +29,16 @@
4.4
4.5 // Disable the following warnings when compiling with MSVC:
4.6 // C4250: 'class1' : inherits 'class2::member' via dominance
4.7 +// C4267: conversion from 'size_t' to 'type', possible loss of data
4.8 // C4355: 'this' : used in base member initializer list
4.9 // C4503: 'function' : decorated name length exceeded, name was truncated
4.10 // C4800: 'type' : forcing value to bool 'true' or 'false' (performance warning)
4.11 // C4996: 'function': was declared deprecated
4.12 #ifdef _MSC_VER
4.13 -#pragma warning( disable : 4250 4355 4503 4800 4996 )
4.14 +#pragma warning( disable : 4250 4267 4355 4503 4800 4996 )
4.15 #endif
4.16
4.17 -#ifdef __GNUC__
4.18 -#define GCC_VERSION (__GNUC__ * 10000 \
4.19 - + __GNUC_MINOR__ * 100 \
4.20 - + __GNUC_PATCHLEVEL__)
4.21 -#endif
4.22 -
4.23 -#if GCC_VERSION >= 40800
4.24 +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
4.25 // Needed by the [DI]GRAPH_TYPEDEFS marcos for gcc 4.8
4.26 #pragma GCC diagnostic ignored "-Wunused-local-typedefs"
4.27 #endif
5.1 --- a/lemon/counter.h Wed Nov 12 14:11:20 2014 +0100
5.2 +++ b/lemon/counter.h Thu Apr 02 14:09:21 2015 +0200
5.3 @@ -22,6 +22,8 @@
5.4 #include <string>
5.5 #include <iostream>
5.6
5.7 +#include <lemon/core.h>
5.8 +
5.9 ///\ingroup timecount
5.10 ///\file
5.11 ///\brief Tools for counting steps and events
6.1 --- a/lemon/elevator.h Wed Nov 12 14:11:20 2014 +0100
6.2 +++ b/lemon/elevator.h Thu Apr 02 14:09:21 2015 +0200
6.3 @@ -167,7 +167,7 @@
6.4 ///Return the number of items on level \c l.
6.5 int onLevel(int l) const
6.6 {
6.7 - return _first[l+1]-_first[l];
6.8 + return static_cast<int>(_first[l+1]-_first[l]);
6.9 }
6.10 ///Return true if level \c l is empty.
6.11 bool emptyLevel(int l) const
6.12 @@ -177,12 +177,12 @@
6.13 ///Return the number of items above level \c l.
6.14 int aboveLevel(int l) const
6.15 {
6.16 - return _first[_max_level+1]-_first[l+1];
6.17 + return static_cast<int>(_first[_max_level+1]-_first[l+1]);
6.18 }
6.19 ///Return the number of active items on level \c l.
6.20 int activesOnLevel(int l) const
6.21 {
6.22 - return _last_active[l]-_first[l]+1;
6.23 + return static_cast<int>(_last_active[l]-_first[l]+1);
6.24 }
6.25 ///Return true if there is no active item on level \c l.
6.26 bool activeFree(int l) const
7.1 --- a/lemon/radix_sort.h Wed Nov 12 14:11:20 2014 +0100
7.2 +++ b/lemon/radix_sort.h Thu Apr 02 14:09:21 2015 +0200
7.3 @@ -328,7 +328,7 @@
7.4 typedef std::allocator<Key> Allocator;
7.5 Allocator allocator;
7.6
7.7 - int length = std::distance(first, last);
7.8 + int length = static_cast<int>(std::distance(first, last));
7.9 Key* buffer = allocator.allocate(2 * length);
7.10 try {
7.11 bool dir = true;
8.1 --- a/lemon/random.h Wed Nov 12 14:11:20 2014 +0100
8.2 +++ b/lemon/random.h Thu Apr 02 14:09:21 2015 +0200
8.3 @@ -199,7 +199,7 @@
8.4
8.5 initState(init);
8.6
8.7 - num = length > end - begin ? length : end - begin;
8.8 + num = static_cast<int>(length > end - begin ? length : end - begin);
8.9 while (num--) {
8.10 curr[0] = (curr[0] ^ ((curr[1] ^ (curr[1] >> (bits - 2))) * mul1))
8.11 + *it + cnt;
8.12 @@ -213,7 +213,7 @@
8.13 --curr;
8.14 }
8.15
8.16 - num = length - 1; cnt = length - (curr - state) - 1;
8.17 + num = length - 1; cnt = static_cast<int>(length - (curr - state) - 1);
8.18 while (num--) {
8.19 curr[0] = (curr[0] ^ ((curr[1] ^ (curr[1] >> (bits - 2))) * mul2))
8.20 - cnt;
9.1 --- a/lemon/static_graph.h Wed Nov 12 14:11:20 2014 +0100
9.2 +++ b/lemon/static_graph.h Thu Apr 02 14:09:21 2015 +0200
9.3 @@ -203,7 +203,7 @@
9.4 built = true;
9.5
9.6 node_num = n;
9.7 - arc_num = std::distance(first, last);
9.8 + arc_num = static_cast<int>(std::distance(first, last));
9.9
9.10 node_first_out = new int[node_num + 1];
9.11 node_first_in = new int[node_num];