Skip to content

Commit 6d64db8

Browse files
authoredAug 1, 2024··
Merge pull request #402 from alanb-sony/patch-1
Workaround GCC 10&11 optimiser compilation failure
2 parents f4c676c + 8733cef commit 6d64db8

File tree

3 files changed

+24
-20
lines changed

3 files changed

+24
-20
lines changed
 

‎.github/workflows/build-test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -646,7 +646,7 @@ jobs:
646646
# ubuntu-14.04 ca-certificates are out of date
647647
git config --global http.sslVerify false
648648
# build and install openssl
649-
curl -OsSk https://openssl.org/source/old/1.1.1/openssl-1.1.1v.tar.gz
649+
curl -OsSkL https://openssl.org/source/old/1.1.1/openssl-1.1.1v.tar.gz
650650
tar xzf openssl-1.1.1v.tar.gz
651651
cd openssl-1.1.1v
652652
./config --prefix=/usr/local/custom-openssl --libdir=lib --openssldir=/etc/ssl

‎.github/workflows/src/build-test.yml

+7-7
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,26 @@ jobs:
1818
strategy:
1919
fail-fast: false
2020
matrix:
21-
os: [ubuntu-20.04, macos-11, windows-2019]
21+
os: [ubuntu-20.04, macos-12, windows-2019]
2222
install_mdns: [false, true]
2323
use_conan: [true]
2424
force_cpprest_asio: [false]
2525
dns_sd_mode: [multicast, unicast]
2626
enable_authorization: [false, true]
2727
exclude:
2828
# install_mdns is only meaningful on Linux
29-
- os: macos-11
29+
- os: macos-12
3030
enable_authorization: false
3131
- os: windows-2019
3232
enable_authorization: false
3333
- os: ubuntu-20.04
3434
enable_authorization: false
35-
- os: macos-11
35+
- os: macos-12
3636
install_mdns: true
3737
- os: windows-2019
3838
install_mdns: true
3939
# for now, unicast DNS-SD tests are only implemented on Linux
40-
- os: macos-11
40+
- os: macos-12
4141
dns_sd_mode: unicast
4242
- os: windows-2019
4343
dns_sd_mode: unicast
@@ -160,7 +160,7 @@ jobs:
160160
# ubuntu-14.04 ca-certificates are out of date
161161
git config --global http.sslVerify false
162162
# build and install openssl
163-
curl -OsSk https://openssl.org/source/old/1.1.1/openssl-1.1.1v.tar.gz
163+
curl -OsSkL https://openssl.org/source/old/1.1.1/openssl-1.1.1v.tar.gz
164164
tar xzf openssl-1.1.1v.tar.gz
165165
cd openssl-1.1.1v
166166
./config --prefix=/usr/local/custom-openssl --libdir=lib --openssldir=/etc/ssl
@@ -205,8 +205,8 @@ jobs:
205205

206206
- name: make badges
207207
run: |
208-
# combine badges from all builds, exclude macos-11
209-
${{ github.workspace }}/Sandbox/make_badges.sh ${{ github.workspace }} ${{ runner.workspace }}/artifacts macos-11_auth macos-11_noauth
208+
# combine badges from all builds, exclude macos-12
209+
${{ github.workspace }}/Sandbox/make_badges.sh ${{ github.workspace }} ${{ runner.workspace }}/artifacts macos-12_auth macos-12_noauth
210210
211211
# force push to github onto an orphan 'badges' branch
212212
cd ${{ github.workspace }}

‎Development/cpprest/json_ops.h

+16-12
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,7 @@ namespace web
5151
return !(lhs == rhs);
5252
}
5353

54-
inline bool operator<(const web::json::object& lhs, const web::json::object& rhs)
55-
{
56-
using std::begin;
57-
using std::end;
58-
return std::lexicographical_compare(begin(lhs), end(lhs), begin(rhs), end(rhs));
59-
}
54+
inline bool operator<(const web::json::object& lhs, const web::json::object& rhs);
6055

6156
inline bool operator>(const web::json::object& lhs, const web::json::object& rhs)
6257
{
@@ -87,12 +82,7 @@ namespace web
8782
return !(lhs == rhs);
8883
}
8984

90-
inline bool operator<(const web::json::array& lhs, const web::json::array& rhs)
91-
{
92-
using std::begin;
93-
using std::end;
94-
return std::lexicographical_compare(begin(lhs), end(lhs), begin(rhs), end(rhs));
95-
}
85+
inline bool operator<(const web::json::array& lhs, const web::json::array& rhs);
9686

9787
inline bool operator>(const web::json::array& lhs, const web::json::array& rhs)
9888
{
@@ -142,6 +132,20 @@ namespace web
142132
{
143133
return !(lhs < rhs);
144134
}
135+
136+
inline bool operator<(const web::json::array& lhs, const web::json::array& rhs)
137+
{
138+
using std::begin;
139+
using std::end;
140+
return std::lexicographical_compare(begin(lhs), end(lhs), begin(rhs), end(rhs));
141+
}
142+
143+
inline bool operator<(const web::json::object& lhs, const web::json::object& rhs)
144+
{
145+
using std::begin;
146+
using std::end;
147+
return std::lexicographical_compare(begin(lhs), end(lhs), begin(rhs), end(rhs));
148+
}
145149
}
146150
}
147151

0 commit comments

Comments
 (0)
Please sign in to comment.