Skip to content

Commit 1aed135

Browse files
TheMarexPatrick Niklaus
authored andcommitted
Remove GCC 4.9 support. Minimum is now 5.0.
1 parent f6db8ff commit 1aed135

File tree

2 files changed

+7
-20
lines changed

2 files changed

+7
-20
lines changed

.travis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,12 @@ matrix:
138138
env: CCOMPILER='gcc-7' CXXCOMPILER='g++-7' BUILD_TYPE='Release' ENABLE_STXXL=On
139139

140140
- os: linux
141-
compiler: "gcc-4.9-release"
141+
compiler: "gcc-5-release"
142142
addons: &gcc49
143143
apt:
144144
sources: ['ubuntu-toolchain-r-test']
145-
packages: ['g++-4.9', 'libbz2-dev', 'libxml2-dev', 'libzip-dev', 'liblua5.2-dev', 'libtbb-dev', 'libboost-all-dev', 'ccache']
146-
env: CCOMPILER='gcc-4.9' CXXCOMPILER='g++-4.9' BUILD_TYPE='Release'
145+
packages: ['g++-5', 'libbz2-dev', 'libxml2-dev', 'libzip-dev', 'liblua5.2-dev', 'libtbb-dev', 'libboost-all-dev', 'ccache']
146+
env: CCOMPILER='gcc-5' CXXCOMPILER='g++-5' BUILD_TYPE='Release'
147147

148148
- os: linux
149149
compiler: "gcc-6-release"

CMakeLists.txt

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,10 @@ if(WIN32 AND MSVC_VERSION LESS 1900)
101101
message(FATAL_ERROR "Building with Microsoft compiler needs Latest Visual Studio 2015 (Community or better)")
102102
endif()
103103

104-
# Strictly require GCC>=4.9 and Clang>=3.4 - GCC 4.8 is already too old for C++14.
104+
# Strictly require GCC>=5.0 and Clang>=3.4 - GCC 4.8 is already too old for C++14.
105105
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
106-
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
107-
message(FATAL_ERROR "GCC>=4.9 required. In case you are on Ubuntu upgrade via ppa:ubuntu-toolchain-r/test")
106+
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
107+
message(FATAL_ERROR "GCC>=5.0 required. In case you are on Ubuntu upgrade via ppa:ubuntu-toolchain-r/test")
108108
endif()
109109
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
110110
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
@@ -258,8 +258,7 @@ if(CMAKE_BUILD_TYPE MATCHES Release OR CMAKE_BUILD_TYPE MATCHES MinRelSize OR CM
258258
endif()
259259

260260
# Since gcc 4.9 the LTO format is non-standart ('slim'), so we need to use the build-in tools
261-
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND
262-
NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9.0 AND NOT MINGW)
261+
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND NOT MINGW)
263262
find_program(GCC_AR gcc-ar)
264263
find_program(GCC_RANLIB gcc-ranlib)
265264
if ("${GCC_AR}" STREQUAL "GCC_AR-NOTFOUND" OR "${GCC_RANLIB}" STREQUAL "GCC_RANLIB-NOTFOUND")
@@ -287,12 +286,6 @@ if(CMAKE_BUILD_TYPE MATCHES Release OR CMAKE_BUILD_TYPE MATCHES MinRelSize OR CM
287286
set(CMAKE_RANLIB ${LLVM_RANLIB})
288287
endif()
289288
endif()
290-
291-
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9.0)
292-
message(STATUS "Disabling LTO on GCC < 4.9.0 since it is broken, see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57038")
293-
set(CMAKE_CXX_FLAGS "${OLD_CXX_FLAGS}")
294-
set(ENABLE_LTO Off)
295-
endif()
296289
endif()
297290
endif()
298291

@@ -331,12 +324,6 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
331324
# using GCC
332325
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OSRM_WARNING_FLAGS} -Werror=strict-overflow=1 -Wno-error=maybe-uninitialized -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 ${COLOR_FLAG} -fPIC -ftemplate-depth=1024")
333326

334-
# Disable missing field initializer since this has a lot of false positives with incomplete curly-braces
335-
# initialization support on 4.9
336-
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9)
337-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=missing-field-initializers")
338-
endif()
339-
340327
if(WIN32) # using mingw
341328
add_dependency_defines(-DWIN32)
342329
set(OPTIONAL_SOCKET_LIBS ws2_32 wsock32)

0 commit comments

Comments
 (0)