Skip to content

Commit 51efec4

Browse files
committed
Merge branch 'develop'
2 parents b96aba4 + f20b831 commit 51efec4

File tree

8 files changed

+62
-67
lines changed

8 files changed

+62
-67
lines changed

.azure-pipelines.yml

Lines changed: 28 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,6 @@
55
# Distributed under the Boost Software License, Version 1.0.
66
# https://www.boost.org/LICENSE_1_0.txt
77

8-
#
9-
# Generic Azure Pipelines build script for boostorg repositories
10-
# See: https://github.com/boostorg/boost-ci/
11-
#
12-
# Instructions for customizing this script for your library:
13-
#
14-
# 1. Customize the compilers and language levels you want.
15-
# 2. If you have more than include/, src/, test/, example/, examples/,
16-
# benchmark/ or tools/ directories, set the environment variable DEPINST.
17-
# For example if your build uses code in "bench/" and "fog/" directories:
18-
# - DEPINST: --include bench --include fog
19-
# 3. Enable pull request builds in your boostorg/<library> account.
20-
#
21-
# That's it - the script will do everything else for you.
22-
238
trigger:
249
branches:
2510
include:
@@ -44,44 +29,42 @@ parameters:
4429
- name: jobs
4530
type: object
4631
default:
47-
- { compiler: gcc-4.8, cxxstd: '11', os: ubuntu-18.04 }
48-
- { compiler: gcc-4.9, cxxstd: '11', os: ubuntu-18.04, container: 'ubuntu:16.04' }
49-
- { compiler: gcc-5, cxxstd: '11', os: ubuntu-18.04 }
50-
- { compiler: gcc-6, cxxstd: '11,14', os: ubuntu-18.04 }
51-
- { compiler: gcc-7, cxxstd: '11,14,17', os: ubuntu-18.04 }
32+
- { compiler: gcc-4.8, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
33+
- { compiler: gcc-4.9, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
34+
- { compiler: gcc-5, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:18.04' }
35+
- { compiler: gcc-6, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:18.04' }
36+
- { compiler: gcc-7, cxxstd: '11,14,17', os: ubuntu-20.04 }
5237
- { compiler: gcc-8, cxxstd: '14,17,2a', os: ubuntu-20.04 }
5338
- { compiler: gcc-9, cxxstd: '14,17,2a', os: ubuntu-20.04 }
5439
- { compiler: gcc-10, cxxstd: '14,17,20', os: ubuntu-20.04 }
5540
- { compiler: gcc-11, cxxstd: '14,17,20', os: ubuntu-20.04 }
56-
- { compiler: clang-3.5, cxxstd: '11', os: ubuntu-18.04, container: 'ubuntu:16.04' }
57-
- { compiler: clang-3.6, cxxstd: '11', os: ubuntu-18.04, container: 'ubuntu:16.04' }
58-
- { compiler: clang-3.7, cxxstd: '11', os: ubuntu-18.04, container: 'ubuntu:16.04' }
59-
- { compiler: clang-3.8, cxxstd: '11,14', os: ubuntu-18.04, container: 'ubuntu:16.04' }
60-
- { compiler: clang-3.9, cxxstd: '11,14', os: ubuntu-18.04 }
61-
- { compiler: clang-4.0, cxxstd: '11,14', os: ubuntu-18.04 }
62-
- { compiler: clang-5.0, cxxstd: '11,14,17', os: ubuntu-18.04 }
63-
- { compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-18.04, install: 'clang-6.0 libc6-dbg libc++-dev libc++abi-dev libstdc++-8-dev' }
64-
- { compiler: clang-7, cxxstd: '14,17', os: ubuntu-18.04, install: 'clang-7 libc6-dbg libc++-dev libstdc++-8-dev' }
65-
- { compiler: clang-8, cxxstd: '14,17', os: ubuntu-18.04, install: 'clang-8 libc6-dbg libc++-dev libstdc++-8-dev' }
41+
- { compiler: clang-3.5, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
42+
- { compiler: clang-3.6, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
43+
- { compiler: clang-3.7, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
44+
- { compiler: clang-3.8, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
45+
- { compiler: clang-3.9, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
46+
- { compiler: clang-4.0, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
47+
- { compiler: clang-5.0, cxxstd: '11,14,17', os: ubuntu-20.04, container: 'ubuntu:16.04' }
48+
- { compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-20.04 }
49+
- { compiler: clang-7, cxxstd: '14,17', os: ubuntu-20.04 }
50+
- { compiler: clang-8, cxxstd: '14,17', os: ubuntu-20.04 }
6651
- { compiler: clang-9, cxxstd: '14,17,2a', os: ubuntu-20.04 }
6752
- { compiler: clang-10, cxxstd: '14,17,20', os: ubuntu-20.04 }
68-
- { compiler: clang-11, cxxstd: '14,17,20', os: ubuntu-20.04 }
69-
- { compiler: clang-12, cxxstd: '14,17,20', os: ubuntu-20.04 }
53+
- { compiler: clang-11, cxxstd: '14,17,20', os: ubuntu-22.04 }
54+
- { compiler: clang-12, cxxstd: '14,17,20', os: ubuntu-22.04 }
7055
- { name: Linux_clang_6_libcxx,
71-
compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-18.04, install: 'clang-6.0 libc6-dbg libc++-dev libc++abi-dev libstdc++-8-dev', env: {B2_STDLIB: libc++ } }
56+
compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-20.04, container: 'ubuntu:18.04', install: 'clang-6.0 libc++-dev libc++abi-dev', env: {B2_STDLIB: libc++ } }
7257
# OSX
73-
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.2.1 }
74-
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.3 }
75-
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.3.1 }
76-
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.4.1 }
77-
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.5 }
78-
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.6 }
79-
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.7 }
80-
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 12.0.1 }
81-
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 12.1.1 }
82-
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 12.2 }
83-
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 12.3 }
84-
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 12.4 }
58+
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-11, xcode: '11.7' }
59+
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-11, xcode: '12.4' }
60+
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-11, xcode: '12.5.1' }
61+
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-11, xcode: '13.0' }
62+
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.1' }
63+
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.2.1' }
64+
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.3.1' }
65+
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.4' }
66+
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.4.1' }
67+
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '14.0.1' }
8568

8669
stages:
8770
- stage: Test

.github/FUNDING.yml

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

.github/workflows/ci.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,16 @@ jobs:
4444
matrix:
4545
include:
4646
# Linux, gcc
47-
- { compiler: gcc-4.4, cxxstd: '98,0x', os: ubuntu-20.04, container: 'ubuntu:16.04' }
48-
- { compiler: gcc-4.6, cxxstd: '03,0x', os: ubuntu-20.04, container: 'ubuntu:16.04' }
49-
- { compiler: gcc-4.7, cxxstd: '03,11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
50-
- { compiler: gcc-4.8, cxxstd: '03,11', os: ubuntu-22.04, container: 'ubuntu:18.04' }
51-
- { compiler: gcc-4.9, cxxstd: '03,11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
47+
- { compiler: gcc-4.4, cxxstd: '98,0x', os: ubuntu-22.04, container: 'ubuntu:16.04' }
48+
- { compiler: gcc-4.6, cxxstd: '03,0x', os: ubuntu-22.04, container: 'ubuntu:16.04' }
49+
- { compiler: gcc-4.7, cxxstd: '03,11', os: ubuntu-22.04, container: 'ubuntu:16.04' }
50+
- { compiler: gcc-4.8, cxxstd: '03,11', os: ubuntu-22.04, container: 'ubuntu:16.04' }
51+
- { compiler: gcc-4.9, cxxstd: '03,11', os: ubuntu-22.04, container: 'ubuntu:16.04' }
5252
- { compiler: gcc-5, cxxstd: '03,11,14,1z', os: ubuntu-22.04, container: 'ubuntu:18.04' }
5353
- { compiler: gcc-6, cxxstd: '03,11,14,17', os: ubuntu-22.04, container: 'ubuntu:18.04' }
54-
- { compiler: gcc-7, cxxstd: '03,11,14,17', os: ubuntu-22.04, container: 'ubuntu:18.04' }
55-
- { compiler: gcc-8, cxxstd: '03,11,14,17,2a', os: ubuntu-22.04, container: 'ubuntu:18.04' }
56-
- { compiler: gcc-9, cxxstd: '03,11,14,17,2a', os: ubuntu-22.04, container: 'ubuntu:18.04' }
54+
- { compiler: gcc-7, cxxstd: '03,11,14,17', os: ubuntu-20.04 }
55+
- { compiler: gcc-8, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04 }
56+
- { compiler: gcc-9, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04 }
5757
- { compiler: gcc-10, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 }
5858
- { compiler: gcc-11, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 }
5959
- { compiler: gcc-12, cxxstd: '03,11,14,17,20', os: ubuntu-22.04 }
@@ -63,10 +63,10 @@ jobs:
6363
compiler: gcc-8, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04, install: 'g++-8-multilib', address-model: '32,64' }
6464

6565
# Linux, clang
66-
- { compiler: clang-3.5, cxxstd: '03,11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
67-
- { compiler: clang-3.6, cxxstd: '03,11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
68-
- { compiler: clang-3.7, cxxstd: '03,11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
69-
- { compiler: clang-3.8, cxxstd: '03,11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
66+
- { compiler: clang-3.5, cxxstd: '03,11', os: ubuntu-22.04, container: 'ubuntu:16.04' }
67+
- { compiler: clang-3.6, cxxstd: '03,11,14', os: ubuntu-22.04, container: 'ubuntu:16.04' }
68+
- { compiler: clang-3.7, cxxstd: '03,11,14', os: ubuntu-22.04, container: 'ubuntu:16.04' }
69+
- { compiler: clang-3.8, cxxstd: '03,11,14', os: ubuntu-22.04, container: 'ubuntu:16.04' }
7070
- { compiler: clang-3.9, cxxstd: '03,11,14', os: ubuntu-22.04, container: 'ubuntu:18.04' }
7171
- { compiler: clang-4.0, cxxstd: '03,11,14', os: ubuntu-22.04, container: 'ubuntu:18.04' }
7272
- { compiler: clang-5.0, cxxstd: '03,11,14,1z', os: ubuntu-22.04, container: 'ubuntu:18.04' }
@@ -88,7 +88,7 @@ jobs:
8888
compiler: clang-14, cxxstd: '03,11,14,17,20', os: ubuntu-22.04, stdlib: libc++, install: 'clang-14 libc++-14-dev libc++abi-14-dev' }
8989

9090
# OSX, clang
91-
- { compiler: clang, cxxstd: '03,11,14,17,2a', os: macos-10.15, sanitize: yes }
91+
- { compiler: clang, cxxstd: '03,11,14,17,2a', os: macos-11, sanitize: yes }
9292

9393
timeout-minutes: 120
9494
runs-on: ${{matrix.os}}

build/Jamfile.v2

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,20 @@ project boost/nowide
2121
: source-location ../src
2222
: requirements $(requirements)
2323
[ requires
24+
cxx11_auto_declarations
25+
cxx11_char16_t
26+
cxx11_char32_t
27+
cxx11_constexpr
28+
cxx11_decltype
2429
cxx11_defaulted_functions
2530
cxx11_noexcept
31+
cxx11_nullptr
32+
cxx11_override
2633
cxx11_rvalue_references
2734
cxx11_static_assert
35+
cxx11_template_aliases
36+
cxx11_variadic_templates
2837
]
29-
[ check-target-builds ../config//cxx11_moveable_fstreams "std::fstream is moveable and swappable" : : <build>no ]
3038
[ check-target-builds ../config//lfs_support "Has Large File Support" : : <define>BOOST_NOWIDE_NO_LFS ] <boost.nowide.lfs>no:<define>BOOST_NOWIDE_NO_LFS
3139
[ check-target-builds ../config//attribute_init_priority "Has attribute init_priority" : <define>BOOST_NOWIDE_HAS_INIT_PRIORITY ]
3240
: usage-requirements $(requirements)

test/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ include(CheckCXXCompilerFlag)
66
check_cxx_compiler_flag(-Wsuggest-override _BOOST_NOWIDE_SUGGEST_OVERRIDE_SUPPORTED)
77

88
add_library(boost_nowide_file_test_helpers STATIC file_test_helpers.cpp)
9-
target_link_libraries(boost_nowide_file_test_helpers PRIVATE PRIVATE Boost::nowide)
9+
target_link_libraries(boost_nowide_file_test_helpers PRIVATE Boost::nowide)
1010
target_compile_definitions(boost_nowide_file_test_helpers PRIVATE BOOST_ALL_NO_LIB)
1111

1212
if(NOT TARGET tests)

test/Jamfile.v2

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,12 @@ project : requirements
2323
<include>.
2424
<warnings>pedantic
2525
<warnings-as-errors>on
26-
[ requires
27-
cxx11_defaulted_functions
28-
cxx11_noexcept
29-
cxx11_rvalue_references
30-
cxx11_static_assert
31-
]
3226
[ check-target-builds ../config//cxx11_moveable_fstreams "std::fstream is moveable and swappable" : : <build>no ]
3327
;
3428

3529
lib shell32 ;
3630
lib file_test_helpers : file_test_helpers.cpp : <link>static -<library>/boost/nowide//boost_nowide ;
31+
explicit file_test_helpers ;
3732

3833
run test_codecvt.cpp ;
3934
run test_convert.cpp ;

test/test_codecvt.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,15 @@ void test_codecvt_err()
293293
TEST_EQ(cvt.in(mb, from, from_end, from_next, to, to_end, to_next), cvt_type::partial);
294294
TEST(from_next == from + 1);
295295
TEST(to_next == to + 1);
296+
// False positive in GCC 13 in MinGW
297+
#if defined(__GNUC__) && __GNUC__ >= 13
298+
#pragma GCC diagnostic push
299+
#pragma GCC diagnostic ignored "-Wfree-nonheap-object"
300+
#endif
296301
TEST(std::wstring(to, to_next) == std::wstring(L"1"));
302+
#if defined(__GNUC__) && __GNUC__ >= 13
303+
#pragma GCC diagnostic pop
304+
#endif
297305
}
298306
{
299307
char buf[4] = {};

test/test_filebuf.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ void test_xsgetn(const std::string& filepath, bool binary)
308308
buffer[0] = origStr[0];
309309

310310
TEST_EQ(buf.sgetn(&str[0], 0), 0);
311-
#if defined(__GNUC__) && __GNUC__ >= 7
311+
#if defined(__GNUC__) && __GNUC__ >= 12
312312
// GCC may not detect that the negative value is checked by xsgetn
313313
#pragma GCC diagnostic push
314314
#pragma GCC diagnostic ignored "-Wrestrict"

0 commit comments

Comments
 (0)