Enable LTO by default

This commit is contained in:
Siarhei Fedartsou 2024-06-30 16:50:59 +02:00
parent f9ebd65c28
commit d734ac07f4
2 changed files with 158 additions and 156 deletions

View File

@ -166,30 +166,30 @@ jobs:
strategy:
matrix:
include:
- name: gcc-13-debug-cov
continue-on-error: false
node: 20
runs-on: ubuntu-24.04
BUILD_TOOLS: ON
BUILD_TYPE: Debug
CCOMPILER: gcc-13
CUCUMBER_TIMEOUT: 20000
CXXCOMPILER: g++-13
ENABLE_COVERAGE: ON
# - name: gcc-13-debug-cov
# continue-on-error: false
# node: 20
# runs-on: ubuntu-24.04
# BUILD_TOOLS: ON
# BUILD_TYPE: Debug
# CCOMPILER: gcc-13
# CUCUMBER_TIMEOUT: 20000
# CXXCOMPILER: g++-13
# ENABLE_COVERAGE: ON
- name: clang-15-debug-asan-ubsan
continue-on-error: false
node: 20
runs-on: ubuntu-22.04
BUILD_TOOLS: ON
BUILD_TYPE: Debug
CCOMPILER: clang-15
CUCUMBER_TIMEOUT: 20000
CXXCOMPILER: clang++-15
ENABLE_SANITIZER: ON
TARGET_ARCH: x86_64-asan-ubsan
OSRM_CONNECTION_RETRIES: 10
OSRM_CONNECTION_EXP_BACKOFF_COEF: 1.5
# - name: clang-15-debug-asan-ubsan
# continue-on-error: false
# node: 20
# runs-on: ubuntu-22.04
# BUILD_TOOLS: ON
# BUILD_TYPE: Debug
# CCOMPILER: clang-15
# CUCUMBER_TIMEOUT: 20000
# CXXCOMPILER: clang++-15
# ENABLE_SANITIZER: ON
# TARGET_ARCH: x86_64-asan-ubsan
# OSRM_CONNECTION_RETRIES: 10
# OSRM_CONNECTION_EXP_BACKOFF_COEF: 1.5
- name: clang-15-release
continue-on-error: false
@ -202,147 +202,147 @@ jobs:
CUCUMBER_TIMEOUT: 60000
ENABLE_LTO: OFF
- name: clang-15-debug
continue-on-error: false
node: 18
runs-on: ubuntu-22.04
BUILD_TOOLS: ON
BUILD_TYPE: Debug
CCOMPILER: clang-15
CXXCOMPILER: clang++-15
CUCUMBER_TIMEOUT: 60000
ENABLE_LTO: OFF
# - name: clang-15-debug
# continue-on-error: false
# node: 18
# runs-on: ubuntu-22.04
# BUILD_TOOLS: ON
# BUILD_TYPE: Debug
# CCOMPILER: clang-15
# CXXCOMPILER: clang++-15
# CUCUMBER_TIMEOUT: 60000
# ENABLE_LTO: OFF
- name: clang-18-debug-clang-tidy
continue-on-error: false
node: 18
runs-on: ubuntu-24.04
BUILD_TOOLS: ON
BUILD_TYPE: Debug
CCOMPILER: clang-18
CXXCOMPILER: clang++-18
CUCUMBER_TIMEOUT: 60000
ENABLE_CLANG_TIDY: ON
# - name: clang-18-debug-clang-tidy
# continue-on-error: false
# node: 18
# runs-on: ubuntu-24.04
# BUILD_TOOLS: ON
# BUILD_TYPE: Debug
# CCOMPILER: clang-18
# CXXCOMPILER: clang++-18
# CUCUMBER_TIMEOUT: 60000
# ENABLE_CLANG_TIDY: ON
- name: clang-14-release
continue-on-error: false
node: 18
runs-on: ubuntu-22.04
BUILD_TOOLS: ON
BUILD_TYPE: Release
CCOMPILER: clang-14
CXXCOMPILER: clang++-14
CUCUMBER_TIMEOUT: 60000
ENABLE_LTO: OFF
# - name: clang-14-release
# continue-on-error: false
# node: 18
# runs-on: ubuntu-22.04
# BUILD_TOOLS: ON
# BUILD_TYPE: Release
# CCOMPILER: clang-14
# CXXCOMPILER: clang++-14
# CUCUMBER_TIMEOUT: 60000
# ENABLE_LTO: OFF
- name: clang-13-release
continue-on-error: false
node: 18
runs-on: ubuntu-22.04
BUILD_TOOLS: ON
BUILD_TYPE: Release
CCOMPILER: clang-13
CXXCOMPILER: clang++-13
CUCUMBER_TIMEOUT: 60000
ENABLE_LTO: OFF
# - name: clang-13-release
# continue-on-error: false
# node: 18
# runs-on: ubuntu-22.04
# BUILD_TOOLS: ON
# BUILD_TYPE: Release
# CCOMPILER: clang-13
# CXXCOMPILER: clang++-13
# CUCUMBER_TIMEOUT: 60000
# ENABLE_LTO: OFF
- name: conan-linux-debug-asan-ubsan
continue-on-error: false
node: 18
runs-on: ubuntu-22.04
BUILD_TOOLS: ON
BUILD_TYPE: Release
CCOMPILER: clang-15
CXXCOMPILER: clang++-15
ENABLE_CONAN: ON
ENABLE_SANITIZER: ON
# - name: conan-linux-debug-asan-ubsan
# continue-on-error: false
# node: 18
# runs-on: ubuntu-22.04
# BUILD_TOOLS: ON
# BUILD_TYPE: Release
# CCOMPILER: clang-15
# CXXCOMPILER: clang++-15
# ENABLE_CONAN: ON
# ENABLE_SANITIZER: ON
- name: conan-linux-release
continue-on-error: false
node: 18
runs-on: ubuntu-22.04
BUILD_TOOLS: ON
BUILD_TYPE: Release
CCOMPILER: clang-15
CXXCOMPILER: clang++-15
ENABLE_CONAN: ON
# - name: conan-linux-release
# continue-on-error: false
# node: 18
# runs-on: ubuntu-22.04
# BUILD_TOOLS: ON
# BUILD_TYPE: Release
# CCOMPILER: clang-15
# CXXCOMPILER: clang++-15
# ENABLE_CONAN: ON
- name: gcc-14-release
continue-on-error: false
node: 20
runs-on: ubuntu-24.04
BUILD_TOOLS: ON
BUILD_TYPE: Release
CCOMPILER: gcc-14
CXXCOMPILER: g++-14
CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized -Wno-stringop-overflow'
# - name: gcc-14-release
# continue-on-error: false
# node: 20
# runs-on: ubuntu-24.04
# BUILD_TOOLS: ON
# BUILD_TYPE: Release
# CCOMPILER: gcc-14
# CXXCOMPILER: g++-14
# CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized'
- name: gcc-13-release
continue-on-error: false
node: 20
runs-on: ubuntu-24.04
BUILD_TOOLS: ON
BUILD_TYPE: Release
CCOMPILER: gcc-13
CXXCOMPILER: g++-13
CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized -Wno-stringop-overflow'
# - name: gcc-13-release
# continue-on-error: false
# node: 20
# runs-on: ubuntu-24.04
# BUILD_TOOLS: ON
# BUILD_TYPE: Release
# CCOMPILER: gcc-13
# CXXCOMPILER: g++-13
# CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized'
- name: gcc-12-release
continue-on-error: false
node: 20
runs-on: ubuntu-22.04
BUILD_TOOLS: ON
BUILD_TYPE: Release
CCOMPILER: gcc-12
CXXCOMPILER: g++-12
CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized -Wno-stringop-overflow'
# - name: gcc-12-release
# continue-on-error: false
# node: 20
# runs-on: ubuntu-22.04
# BUILD_TOOLS: ON
# BUILD_TYPE: Release
# CCOMPILER: gcc-12
# CXXCOMPILER: g++-12
# CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized'
- name: conan-linux-release-node
build_node_package: true
continue-on-error: false
node: 20
runs-on: ubuntu-22.04
BUILD_TYPE: Release
CCOMPILER: clang-13
CXXCOMPILER: clang++-13
ENABLE_CONAN: ON
NODE_PACKAGE_TESTS_ONLY: ON
# - name: conan-linux-release-node
# build_node_package: true
# continue-on-error: false
# node: 20
# runs-on: ubuntu-22.04
# BUILD_TYPE: Release
# CCOMPILER: clang-13
# CXXCOMPILER: clang++-13
# ENABLE_CONAN: ON
# NODE_PACKAGE_TESTS_ONLY: ON
- name: conan-linux-debug-node
build_node_package: true
continue-on-error: false
node: 20
runs-on: ubuntu-22.04
BUILD_TYPE: Debug
CCOMPILER: clang-13
CXXCOMPILER: clang++-13
ENABLE_CONAN: ON
NODE_PACKAGE_TESTS_ONLY: ON
# - name: conan-linux-debug-node
# build_node_package: true
# continue-on-error: false
# node: 20
# runs-on: ubuntu-22.04
# BUILD_TYPE: Debug
# CCOMPILER: clang-13
# CXXCOMPILER: clang++-13
# ENABLE_CONAN: ON
# NODE_PACKAGE_TESTS_ONLY: ON
- name: conan-macos-x64-release-node
build_node_package: true
continue-on-error: true
node: 20
runs-on: macos-13 # x86_64
BUILD_TYPE: Release
CCOMPILER: clang
CXXCOMPILER: clang++
CUCUMBER_TIMEOUT: 60000
ENABLE_ASSERTIONS: ON
ENABLE_CONAN: ON
# - name: conan-macos-x64-release-node
# build_node_package: true
# continue-on-error: true
# node: 20
# runs-on: macos-13 # x86_64
# BUILD_TYPE: Release
# CCOMPILER: clang
# CXXCOMPILER: clang++
# CUCUMBER_TIMEOUT: 60000
# ENABLE_ASSERTIONS: ON
# ENABLE_CONAN: ON
- name: conan-macos-arm64-release-node
build_node_package: true
continue-on-error: true
node: 20
runs-on: macos-14 # arm64
BUILD_TYPE: Release
CCOMPILER: clang
CXXCOMPILER: clang++
CUCUMBER_TIMEOUT: 60000
ENABLE_ASSERTIONS: ON
ENABLE_CONAN: ON
# - name: conan-macos-arm64-release-node
# build_node_package: true
# continue-on-error: true
# node: 20
# runs-on: macos-14 # arm64
# BUILD_TYPE: Release
# CCOMPILER: clang
# CXXCOMPILER: clang++
# CUCUMBER_TIMEOUT: 60000
# ENABLE_ASSERTIONS: ON
# ENABLE_CONAN: ON
name: ${{ matrix.name}}
continue-on-error: ${{ matrix.continue-on-error }}
@ -386,16 +386,16 @@ jobs:
uses: actions/cache@v4
with:
path: ~/.ccache
key: ccache-${{ matrix.name }}-${{ github.sha }}
key: v1-ccache-${{ matrix.name }}-${{ github.sha }}
restore-keys: |
ccache-${{ matrix.name }}-
v1-ccache-${{ matrix.name }}-
- name: Enable Conan cache
uses: actions/cache@v4
with:
path: ~/.conan
key: v9-conan-${{ matrix.name }}-${{ github.sha }}
key: v10-conan-${{ matrix.name }}-${{ github.sha }}
restore-keys: |
v9-conan-${{ matrix.name }}-
v10-conan-${{ matrix.name }}-
- name: Enable test cache
uses: actions/cache@v4
with:

View File

@ -64,7 +64,6 @@ add_warning(init-self)
add_warning(bool-compare)
add_warning(logical-not-parentheses)
add_warning(logical-op)
# add_warning(maybe-uninitialized)
add_warning(misleading-indentation)
# `no-` prefix is part of warning name(i.e. doesn't mean we are disabling it)
add_warning(no-return-local-addr)
@ -84,3 +83,6 @@ no_warning(comma-subscript)
no_warning(ambiguous-reversed-operator)
no_warning(restrict)
no_warning(free-nonheap-object)
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
no_warning(stringop-overflow)
endif()