Skip to content

Commit 3b41555

Browse files
committed
Merge remote-tracking branch 'origin/master' into matthias_QPR-9544
2 parents eceeb4f + c923ba4 commit 3b41555

333 files changed

Lines changed: 43628 additions & 41319 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-format

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
Language: Cpp
3-
Standard: Cpp03
3+
Standard: c++14
44

55

66
# The following is close to the style we've been using all these years

.clang-tidy

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ Checks: >
33
-*,
44
bugprone-*,
55
-bugprone-branch-clone,
6+
-bugprone-easily-swappable-parameters,
7+
-bugprone-implicit-widening-of-multiplication-result,
68
-bugprone-macro-parentheses,
79
-bugprone-narrowing-conversions,
810
clang-analyzer-*,
@@ -22,6 +24,7 @@ Checks: >
2224
-cppcoreguidelines-narrowing-conversions,
2325
-cppcoreguidelines-non-private-member-variables-in-classes,
2426
-cppcoreguidelines-owning-memory,
27+
-cppcoreguidelines-prefer-member-initializer,
2528
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
2629
-cppcoreguidelines-pro-bounds-constant-array-index,
2730
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
@@ -36,6 +39,7 @@ Checks: >
3639
modernize-*,
3740
-modernize-avoid-c-arrays,
3841
-modernize-make-shared,
42+
-modernize-return-braced-init-list,
3943
-modernize-use-trailing-return-type,
4044
-modernize-use-using,
4145
performance-*,
@@ -50,6 +54,7 @@ Checks: >
5054
-readability-magic-numbers,
5155
-readability-named-parameter,
5256
-readability-simplify-boolean-expr,
57+
-readability-suspicious-call-argument,
5358
-readability-use-anyofallof,
5459
HeaderFilterRegex: '.*'
5560
FormatStyle: file

.github/workflows/cmake.yml

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,24 @@ jobs:
88
- name: Setup
99
run: |
1010
sudo apt update
11-
sudo apt install -y libboost-dev
11+
sudo apt install -y libboost-dev ccache
12+
- name: Cache
13+
uses: hendrikmuhs/ccache-action@v1.2
14+
with:
15+
key: cmake-linux-ci-build-${{ github.ref }}-${{ github.head_ref }}-${{ hashFiles('**/*.hpp', '**/*.cpp') }}
16+
restore-keys: |
17+
cmake-linux-ci-build-${{ github.ref }}-${{ github.head_ref }}-
18+
cmake-linux-ci-build-${{ github.ref }}-
19+
cmake-linux-ci-build-refs/heads/master-
20+
cmake-linux-ci-build-
1221
- name: Compile
1322
env:
1423
CXXFLAGS: -O2
1524
run: |
1625
mkdir build
1726
cd build
18-
cmake -DBOOST_ROOT=/usr ..
19-
make -j 2
27+
cmake .. -DBOOST_ROOT=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
28+
cmake --build . -j2
2029
- name: Test
2130
run: |
2231
cd build
@@ -28,7 +37,16 @@ jobs:
2837
- name: Setup
2938
run: |
3039
sudo apt update
31-
sudo apt install -y libboost-all-dev
40+
sudo apt install -y libboost-all-dev ccache
41+
- name: Cache
42+
uses: hendrikmuhs/ccache-action@v1.2
43+
with:
44+
key: cmake-linux-ci-opts-${{ github.ref }}-${{ github.head_ref }}-${{ hashFiles('**/*.hpp', '**/*.cpp') }}
45+
restore-keys: |
46+
cmake-linux-ci-opts-${{ github.ref }}-${{ github.head_ref }}-
47+
cmake-linux-ci-opts-${{ github.ref }}-
48+
cmake-linux-ci-opts-refs/heads/master-
49+
cmake-linux-ci-opts-
3250
- name: Compile
3351
env:
3452
CXXFLAGS: -O2
@@ -85,15 +103,24 @@ jobs:
85103
- uses: actions/checkout@v3
86104
- name: Setup
87105
run: |
88-
brew install boost
106+
brew install boost ccache
107+
- name: Cache
108+
uses: hendrikmuhs/ccache-action@v1.2
109+
with:
110+
key: cmake-macos-ci-${{ github.ref }}-${{ github.head_ref }}-${{ hashFiles('**/*.hpp', '**/*.cpp') }}
111+
restore-keys: |
112+
cmake-macos-ci-${{ github.ref }}-${{ github.head_ref }}-
113+
cmake-macos-ci-${{ github.ref }}-
114+
cmake-macos-ci-refs/heads/master-
115+
cmake-macos-ci-
89116
- name: Compile
90117
env:
91118
CXXFLAGS: -O2 -stdlib=libc++ -mmacosx-version-min=10.9
92119
run: |
93120
mkdir build
94121
cd build
95-
cmake ..
96-
make -j 2
122+
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
123+
cmake --build . -j2
97124
- name: Test
98125
run: |
99126
cd build

.github/workflows/codeql-analysis.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
# or to provide custom queries or build logic.
66
name: "CodeQL"
77

8-
on: workflow_dispatch
8+
on:
9+
schedule:
10+
- cron: '0 0 * * 0'
11+
workflow_dispatch:
912

1013
jobs:
1114
analyze:

.github/workflows/linux-full-tests.yml

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@ jobs:
77
fail-fast: false
88
matrix:
99
include:
10-
- name: "gcc 4.8 (Boost 1.48)"
11-
shortname: gcc4
12-
tag: trusty
13-
cc: gcc
14-
cxx: g++
1510
- name: "gcc 5.4 (Boost 1.66)"
1611
shortname: gcc5
1712
tag: xenial
@@ -37,14 +32,19 @@ jobs:
3732
tag: focal
3833
cc: gcc
3934
cxx: g++
40-
- name: "gcc 10.x"
35+
- name: "gcc 10.3 (Boost 1.79)"
4136
shortname: gcc10
4237
tag: hirsute
4338
cc: gcc
4439
cxx: g++
4540
- name: "gcc 11.x"
4641
shortname: gcc11
47-
tag: impish
42+
tag: jammy
43+
cc: gcc
44+
cxx: g++
45+
- name: "gcc 12.x"
46+
shortname: gcc12
47+
tag: kinetic
4848
cc: gcc
4949
cxx: g++
5050
- name: "Clang 6 (Boost 1.72)"
@@ -77,12 +77,12 @@ jobs:
7777
tag: groovy
7878
cc: clang
7979
cxx: clang++
80-
- name: "Clang 12"
80+
- name: "Clang 12 (Boost 1.79)"
8181
shortname: clang12
8282
tag: hirsute
8383
cc: clang
8484
cxx: clang++
85-
- name: "Clang 13"
85+
- name: "Clang 13 (Boost 1.79)"
8686
shortname: clang13
8787
tag: impish
8888
cc: clang
@@ -92,12 +92,11 @@ jobs:
9292
tag: jammy
9393
cc: clang
9494
cxx: clang++
95-
- name: "C++11 mode"
96-
shortname: c++11
97-
tag: rolling
98-
cc: gcc
99-
cxx: g++
100-
cxxflags: "-std=c++11 -Wno-cpp"
95+
- name: "Clang 15"
96+
shortname: clang15
97+
tag: kinetic
98+
cc: clang
99+
cxx: clang++
101100
- name: "C++14 mode"
102101
shortname: c++14
103102
tag: rolling
@@ -134,7 +133,7 @@ jobs:
134133
cc: gcc
135134
cxx: g++
136135
configureflags: --enable-indexed-coupons
137-
- name: "C++11 classes enabled"
136+
- name: "Standard Library classes enabled"
138137
shortname: stdclasses
139138
tag: rolling
140139
cc: gcc
@@ -174,15 +173,14 @@ jobs:
174173
steps:
175174
- uses: actions/checkout@v3
176175
- name: Cache
177-
uses: actions/cache@v3
176+
uses: hendrikmuhs/ccache-action@v1.2
178177
with:
179-
path: ~/.ccache
180-
key: linux-build-${{ matrix.shortname }}-${{ github.ref }}-${{ github.head_ref }}-${{ hashFiles('**/*.hpp', '**/*.cpp') }}
178+
key: linux-ci-build-${{ matrix.shortname }}-${{ github.ref }}-${{ github.head_ref }}-${{ hashFiles('**/*.hpp', '**/*.cpp') }}
181179
restore-keys: |
182-
linux-build-${{ matrix.shortname }}-${{ github.ref }}-${{ github.head_ref }}-
183-
linux-build-${{ matrix.shortname }}-${{ github.ref }}-
184-
linux-build-${{ matrix.shortname }}-refs/heads/master-
185-
linux-build-${{ matrix.shortname }}-
180+
linux-ci-build-${{ matrix.shortname }}-${{ github.ref }}-${{ github.head_ref }}-
181+
linux-ci-build-${{ matrix.shortname }}-${{ github.ref }}-
182+
linux-ci-build-${{ matrix.shortname }}-refs/heads/master-
183+
linux-ci-build-${{ matrix.shortname }}-
186184
- name: Compiler version
187185
run: |
188186
${{ matrix.cc }} --version

.github/workflows/linux-nondefault.yml

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,19 @@ jobs:
3232
tag: focal
3333
cc: gcc
3434
cxx: g++
35-
- name: "gcc 10.x"
35+
- name: "gcc 10.3 (Boost 1.79)"
3636
shortname: gcc10
3737
tag: hirsute
3838
cc: gcc
3939
cxx: g++
4040
- name: "gcc 11.x"
4141
shortname: gcc11
42-
tag: impish
42+
tag: jammy
43+
cc: gcc
44+
cxx: g++
45+
- name: "gcc 12.x"
46+
shortname: gcc12
47+
tag: kinetic
4348
cc: gcc
4449
cxx: g++
4550
- name: "Clang 6 (Boost 1.72)"
@@ -72,12 +77,12 @@ jobs:
7277
tag: groovy
7378
cc: clang
7479
cxx: clang++
75-
- name: "Clang 12"
80+
- name: "Clang 12 (Boost 1.79)"
7681
shortname: clang12
7782
tag: hirsute
7883
cc: clang
7984
cxx: clang++
80-
- name: "Clang 13"
85+
- name: "Clang 13 (Boost 1.79)"
8186
shortname: clang13
8287
tag: impish
8388
cc: clang
@@ -87,12 +92,11 @@ jobs:
8792
tag: jammy
8893
cc: clang
8994
cxx: clang++
90-
- name: "C++11 mode"
91-
shortname: c++11
92-
tag: rolling
93-
cc: gcc
94-
cxx: g++
95-
cxxflags: "-std=c++11"
95+
- name: "Clang 15"
96+
shortname: clang15
97+
tag: kinetic
98+
cc: clang
99+
cxx: clang++
96100
- name: "C++14 mode"
97101
shortname: c++14
98102
tag: rolling
@@ -117,7 +121,7 @@ jobs:
117121
cc: gcc
118122
cxx: g++
119123
configureflags: --enable-unity-build
120-
- name: "C++11 classes enabled"
124+
- name: "Standard Library classes enabled"
121125
shortname: stdclasses
122126
tag: rolling
123127
cc: gcc
@@ -133,23 +137,13 @@ jobs:
133137
container: ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }}
134138
steps:
135139
- uses: actions/checkout@v3
136-
- name: Cache
137-
uses: actions/cache@v3
138-
with:
139-
path: ~/.ccache
140-
key: linux-nondef-build-${{ matrix.shortname }}-${{ github.ref }}-${{ github.head_ref }}-${{ hashFiles('**/*.hpp', '**/*.cpp') }}
141-
restore-keys: |
142-
linux-nondef-build-${{ matrix.shortname }}-${{ github.ref }}-${{ github.head_ref }}-
143-
linux-nondef-build-${{ matrix.shortname }}-${{ github.ref }}-
144-
linux-nondef-build-${{ matrix.shortname }}-refs/heads/master-
145-
linux-nondef-build-${{ matrix.shortname }}-
146140
- name: Compiler version
147141
run: |
148142
${{ matrix.cc }} --version
149143
- name: Build
150144
run: |
151145
./autogen.sh
152-
./configure --disable-static --enable-error-lines --enable-error-functions --enable-tracing --enable-indexed-coupons --enable-extra-safety-checks --enable-sessions --enable-thread-safe-observer-pattern --enable-intraday --enable-null-as-functions ${{ matrix.configureflags }} CC="ccache ${{ matrix.cc }}" CXX="ccache ${{ matrix.cxx }}" CXXFLAGS="-O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }}"
146+
./configure --disable-static --enable-error-lines --enable-error-functions --enable-tracing --enable-indexed-coupons --enable-extra-safety-checks --enable-sessions --enable-thread-safe-observer-pattern --enable-intraday --enable-null-as-functions ${{ matrix.configureflags }} CC="${{ matrix.cc }}" CXX="${{ matrix.cxx }}" CXXFLAGS="-O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }}"
153147
make -j 2
154148
- name: Run tests
155149
run: |

0 commit comments

Comments
 (0)