Skip to content

Commit f94a36d

Browse files
committed
Merge branch 'QPR-11909' into 'master'
QPR-11909 merge QL 1.31.1 into our fork Closes QPR-11909 See merge request qs/quantlib!59
2 parents b22dcd3 + 6e73437 commit f94a36d

378 files changed

Lines changed: 8390 additions & 4958 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.

.appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ configuration: Release
88
version: ci.{build}
99

1010
build:
11-
parallel: true
11+
parallel: false
1212
project: QuantLib.sln
1313
verbosity: normal
1414

.clang-tidy

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ Checks: >
3434
-cppcoreguidelines-pro-type-const-cast,
3535
-cppcoreguidelines-pro-type-member-init,
3636
-cppcoreguidelines-pro-type-vararg,
37-
-cppcoreguidelines-special-member-functions,
3837
misc-*,
3938
-misc-confusable-identifiers,
4039
-misc-const-correctness,
@@ -70,6 +69,8 @@ Checks: >
7069
HeaderFilterRegex: '.*'
7170
FormatStyle: file
7271
CheckOptions:
72+
- key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
73+
value: 1
7374
- key: modernize-use-default-member-init.UseAssignment
7475
value: 1
7576
...

.github/workflows/cmake.yml

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@ jobs:
2323
cd build
2424
cmake .. -GNinja -DBOOST_ROOT=/usr -DCMAKE_BUILD_TYPE=Release -DQL_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -L
2525
cmake --build . --verbose
26+
sudo cmake --install .
27+
sudo ldconfig
2628
- name: Test
2729
run: |
28-
cd build
29-
./test-suite/quantlib-test-suite --log_level=message
30+
quantlib-test-suite --log_level=message
3031
cmake-linux-with-options:
3132
runs-on: ubuntu-latest
3233
steps:
@@ -47,10 +48,10 @@ jobs:
4748
run: |
4849
cmake --preset linux-ci-build-with-nonstandard-options -L
4950
cmake --build --preset linux-ci-build-with-nonstandard-options --verbose
51+
sudo cmake --build --preset linux-ci-build-with-nonstandard-options --target install
5052
- name: Test
5153
run: |
52-
cd build
53-
./test-suite/quantlib-test-suite --log_level=message
54+
quantlib-test-suite --log_level=message
5455
cmake-win:
5556
runs-on: windows-2022
5657
steps:
@@ -80,11 +81,11 @@ jobs:
8081
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Vc\Auxiliary\Build\vcvarsall.bat" amd64 -vcvars_ver=14.3 || exit 1
8182
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DQL_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -L
8283
cmake --build . --verbose
84+
cmake --install .
8385
dir ql\*.lib
8486
- name: Test
8587
run: |
86-
cd build
87-
.\test-suite\quantlib-test-suite --log_level=message
88+
& "C:\Program Files (x86)\QuantLib\bin\quantlib-test-suite" --log_level=message
8889
cmake-win-dynamic-runtime:
8990
runs-on: windows-2022
9091
steps:
@@ -114,11 +115,11 @@ jobs:
114115
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Vc\Auxiliary\Build\vcvarsall.bat" amd64 -vcvars_ver=14.3 || exit 1
115116
cmake .. -GNinja -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL -DCMAKE_BUILD_TYPE=Release -DQL_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -L
116117
cmake --build . --verbose
118+
cmake --install .
117119
dir ql\*.lib
118120
- name: Test
119121
run: |
120-
cd build
121-
.\test-suite\quantlib-test-suite --log_level=message
122+
& "C:\Program Files (x86)\QuantLib\bin\quantlib-test-suite" --log_level=message
122123
cmake-win-with-options:
123124
runs-on: windows-2022
124125
steps:
@@ -146,10 +147,10 @@ jobs:
146147
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Vc\Auxiliary\Build\vcvarsall.bat" amd64 -vcvars_ver=14.3 || exit 1
147148
cmake --preset windows-ci-build-with-nonstandard-options -L
148149
cmake --build --preset windows-ci-build-with-nonstandard-options --verbose
150+
cmake --build --preset windows-ci-build-with-nonstandard-options --target install
149151
- name: Test
150152
run: |
151-
cd build
152-
.\test-suite\quantlib-test-suite --log_level=message
153+
& "C:\Program Files (x86)\QuantLib\bin\quantlib-test-suite" --log_level=message
153154
cmake-macos:
154155
runs-on: macos-latest
155156
steps:
@@ -173,7 +174,7 @@ jobs:
173174
cd build
174175
cmake .. -DCMAKE_BUILD_TYPE=Release -DQL_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -GNinja -L
175176
cmake --build . --verbose
177+
cmake --install .
176178
- name: Test
177179
run: |
178-
cd build
179-
./test-suite/quantlib-test-suite --log_level=message
180+
quantlib-test-suite --log_level=message

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
cxx: g++
4848
- name: "gcc 12.x"
4949
shortname: gcc12
50-
tag: kinetic
50+
tag: lunar
5151
cc: gcc
5252
cxx: g++
5353
- name: "Clang 6 (Boost 1.72)"
@@ -97,7 +97,7 @@ jobs:
9797
cxx: clang++
9898
- name: "Clang 15"
9999
shortname: clang15
100-
tag: kinetic
100+
tag: lunar
101101
cc: clang
102102
cxx: clang++
103103
- name: "C++14 mode"
@@ -130,6 +130,12 @@ jobs:
130130
cc: gcc
131131
cxx: g++
132132
configureflags: --enable-intraday
133+
- name: "Throwing in cycles enabled"
134+
shortname: cycles
135+
tag: rolling
136+
cc: gcc
137+
cxx: g++
138+
configureflags: --enable-throwing-in-cycles --disable-faster-lazy-objects
133139
- name: "Indexed coupons enabled"
134140
shortname: indexed
135141
tag: rolling

.github/workflows/linux-nondefault.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
cxx: g++
4848
- name: "gcc 12.x"
4949
shortname: gcc12
50-
tag: kinetic
50+
tag: lunar
5151
cc: gcc
5252
cxx: g++
5353
- name: "Clang 6 (Boost 1.72)"
@@ -97,7 +97,7 @@ jobs:
9797
cxx: clang++
9898
- name: "Clang 15"
9999
shortname: clang15
100-
tag: kinetic
100+
tag: lunar
101101
cc: clang
102102
cxx: clang++
103103
- name: "C++14 mode"
@@ -146,7 +146,7 @@ jobs:
146146
- name: Build
147147
run: |
148148
./autogen.sh
149-
./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 }}"
149+
./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 --disable-faster-lazy-objects --enable-throwing-in-cycles --enable-null-as-functions ${{ matrix.configureflags }} CC="${{ matrix.cc }}" CXX="${{ matrix.cxx }}" CXXFLAGS="-O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }}"
150150
make -j 2
151151
- name: Run tests
152152
run: |

.github/workflows/linux.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
tests: true
4646
- name: "gcc 12.x"
4747
shortname: gcc12
48-
tag: kinetic
48+
tag: lunar
4949
cc: gcc
5050
cxx: g++
5151
tests: true
@@ -97,7 +97,7 @@ jobs:
9797
tests: true
9898
- name: "Clang 15"
9999
shortname: clang15
100-
tag: kinetic
100+
tag: lunar
101101
cc: clang
102102
cxx: clang++
103103
tests: true
@@ -132,6 +132,13 @@ jobs:
132132
cxx: g++
133133
configureflags: --enable-intraday
134134
tests: true
135+
- name: "Throwing in cycles enabled"
136+
shortname: cycles
137+
tag: rolling
138+
cc: gcc
139+
cxx: g++
140+
configureflags: --enable-throwing-in-cycles --disable-faster-lazy-objects
141+
tests: true
135142
- name: "Indexed coupons enabled"
136143
shortname: indexed
137144
tag: rolling

.github/workflows/macos-nondefault.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
- name: Build
3131
run: |
3232
./autogen.sh
33-
./configure --disable-shared --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="clang" CXX="clang++" CXXFLAGS="-O2 -g0 -Wall -Werror -stdlib=libc++ -mmacosx-version-min=10.9 ${{ matrix.cxxflags }}" LDFLAGS="-stdlib=libc++ -mmacosx-version-min=10.9"
33+
./configure --disable-shared --enable-error-lines --enable-error-functions --enable-tracing --enable-indexed-coupons --enable-extra-safety-checks --enable-sessions --enable-thread-safe-observer-pattern --enable-intraday --disable-faster-lazy-objects --enable-throwing-in-cycles --enable-null-as-functions ${{ matrix.configureflags }} CC="clang" CXX="clang++" CXXFLAGS="-O2 -g0 -Wall -Werror -stdlib=libc++ -mmacosx-version-min=10.9 ${{ matrix.cxxflags }}" LDFLAGS="-stdlib=libc++ -mmacosx-version-min=10.9"
3434
make -j 3
3535
- name: Run tests
3636
run: |

.github/workflows/sanitizer.yml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
- cron: '0 0 * * 0'
55
workflow_dispatch:
66
jobs:
7-
sanitize:
7+
sanitize-address-undefined:
88
runs-on: ubuntu-latest
99
container: ghcr.io/lballabio/quantlib-devenv:rolling
1010
steps:
@@ -17,6 +17,25 @@ jobs:
1717
./autogen.sh
1818
./configure --disable-static CC="gcc" CXX="g++" CXXFLAGS="-O2 -g0 -fsanitize=address,undefined -fno-sanitize-recover=all -fno-omit-frame-pointer -Wall -Wno-unknown-pragmas -Werror"
1919
make -j 2
20+
- name: Run tests
21+
run: |
22+
LSAN_OPTIONS=suppressions=.lsan.txt ./test-suite/quantlib-test-suite --log_level=message
23+
- name: Run examples
24+
run: |
25+
make check-examples
26+
sanitize-thread:
27+
runs-on: ubuntu-latest
28+
container: ghcr.io/lballabio/quantlib-devenv:rolling
29+
steps:
30+
- uses: actions/checkout@v3
31+
- name: Compiler version
32+
run: |
33+
gcc --version
34+
- name: Build
35+
run: |
36+
./autogen.sh
37+
./configure --disable-static --enable-sessions --enable-thread-safe-observer-pattern CC="gcc" CXX="g++" CXXFLAGS="-O2 -g0 -fsanitize=thread -fno-sanitize-recover=all -Wall -Wno-unknown-pragmas -Werror"
38+
make -j 2
2039
- name: Run tests
2140
run: |
2241
./test-suite/quantlib-test-suite --log_level=message

.github/workflows/test-times.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,20 @@ jobs:
2222
./autogen.sh
2323
./configure --disable-static CC="ccache gcc" CXX="ccache g++" CXXFLAGS="-O2 -g0"
2424
make -j 2
25-
- name: Run tests
25+
- name: Run faster tests
2626
run: |
2727
./test-suite/quantlib-test-suite --logger=JUNIT,warning,faster.xml:HRF,message -- --faster
28+
- name: Run fast tests
29+
run: |
2830
./test-suite/quantlib-test-suite --logger=JUNIT,warning,fast.xml:HRF,message -- --fast
31+
- name: Run all tests
32+
run: |
2933
./test-suite/quantlib-test-suite --logger=JUNIT,warning,all.xml:HRF,message
3034
- name: Save test times
3135
uses: actions/upload-artifact@v3
3236
with:
3337
name: test-reports
34-
path: ./all.xml
38+
path: ./*.xml
3539
- name: Check test times
3640
run: |
3741
python ./tools/check_test_times.py

.lsan.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

0 commit comments

Comments
 (0)