forked from boostorg/mpl
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d223d3cd60 | |||
| bace27426e | |||
| c8a1f64ff6 | |||
| 4b34fa1378 | |||
| bf4a5afb3c | |||
| b37b709cbd | |||
| b86c4cc950 | |||
| fb6b861834 | |||
| 8499ae7e4f |
+34
-14
@@ -56,7 +56,7 @@ jobs:
|
||||
install: g++-12
|
||||
- toolset: gcc-13
|
||||
cxxstd: "03,11,14,17,20,2b"
|
||||
container: ubuntu:23.04
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
install: g++-13
|
||||
- toolset: gcc-14
|
||||
@@ -64,6 +64,11 @@ jobs:
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
install: g++-14
|
||||
- toolset: gcc
|
||||
cxxflags: -funsigned-char
|
||||
cxxstd: "03,11,14,17,20,2b"
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
- toolset: clang
|
||||
compiler: clang++-3.9
|
||||
cxxstd: "03,11,14"
|
||||
@@ -138,13 +143,13 @@ jobs:
|
||||
- toolset: clang
|
||||
compiler: clang++-16
|
||||
cxxstd: "03,11,14,17,20,2b"
|
||||
container: ubuntu:23.04
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
install: clang-16
|
||||
- toolset: clang
|
||||
compiler: clang++-17
|
||||
cxxstd: "03,11,14,17,20,2b"
|
||||
container: ubuntu:23.10
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
install: clang-17
|
||||
- toolset: clang
|
||||
@@ -153,31 +158,43 @@ jobs:
|
||||
container: ubuntu:24.04
|
||||
os: ubuntu-latest
|
||||
install: clang-18
|
||||
- toolset: clang
|
||||
cxxstd: "03,11,14,17,20,2b"
|
||||
os: macos-12
|
||||
- toolset: clang
|
||||
cxxstd: "03,11,14,17,20,2b"
|
||||
os: macos-13
|
||||
- toolset: clang
|
||||
cxxstd: "03,11,14,17,20,2b"
|
||||
os: macos-14
|
||||
- toolset: clang
|
||||
cxxstd: "03,11,14,17,20,2b"
|
||||
os: macos-15
|
||||
|
||||
runs-on: ${{matrix.os}}
|
||||
container: ${{matrix.container}}
|
||||
|
||||
container:
|
||||
image: ${{matrix.container}}
|
||||
volumes:
|
||||
- /node20217:/node20217:rw,rshared
|
||||
- ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }}
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Setup container environment
|
||||
if: matrix.container
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get -y install sudo python3 git g++
|
||||
apt-get -y install sudo python3 git g++ curl xz-utils
|
||||
|
||||
- name: Install nodejs20glibc2.17
|
||||
if: ${{ startsWith( matrix.container, 'ubuntu:1' ) }}
|
||||
run: |
|
||||
curl -LO https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz
|
||||
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
|
||||
ldd /__e/node20/bin/node
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install packages
|
||||
if: matrix.install
|
||||
@@ -215,7 +232,7 @@ jobs:
|
||||
- name: Run tests
|
||||
run: |
|
||||
cd ../boost-root
|
||||
./b2 -j3 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} variant=debug,release
|
||||
./b2 -j3 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} cxxflags=${{matrix.cxxflags}} variant=debug,release
|
||||
|
||||
windows:
|
||||
strategy:
|
||||
@@ -283,9 +300,10 @@ jobs:
|
||||
include:
|
||||
- os: ubuntu-20.04
|
||||
- os: ubuntu-22.04
|
||||
- os: macos-12
|
||||
- os: ubuntu-24.04
|
||||
- os: macos-13
|
||||
- os: macos-14
|
||||
- os: macos-15
|
||||
|
||||
runs-on: ${{matrix.os}}
|
||||
|
||||
@@ -331,9 +349,10 @@ jobs:
|
||||
include:
|
||||
- os: ubuntu-20.04
|
||||
- os: ubuntu-22.04
|
||||
- os: macos-12
|
||||
- os: ubuntu-24.04
|
||||
- os: macos-13
|
||||
- os: macos-14
|
||||
- os: macos-15
|
||||
|
||||
runs-on: ${{matrix.os}}
|
||||
|
||||
@@ -389,9 +408,10 @@ jobs:
|
||||
include:
|
||||
- os: ubuntu-20.04
|
||||
- os: ubuntu-22.04
|
||||
- os: macos-12
|
||||
- os: ubuntu-24.04
|
||||
- os: macos-13
|
||||
- os: macos-14
|
||||
- os: macos-15
|
||||
|
||||
runs-on: ${{matrix.os}}
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
# Boost.MPL Library Jamfile
|
||||
#
|
||||
# Copyright (c) 2018 James E. King III
|
||||
#
|
||||
# Use, modification, and distribution are subject to the
|
||||
# Boost Software License, Version 1.0. (See accompanying file
|
||||
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
# please order by name to ease maintenance
|
||||
build-project example ;
|
||||
build-project test ;
|
||||
@@ -0,0 +1,29 @@
|
||||
# Copyright René Ferdinand Rivera Morell 2023-2024
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE_1_0.txt or copy at
|
||||
# http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
require-b2 5.2 ;
|
||||
|
||||
constant boost_dependencies :
|
||||
/boost/config//boost_config
|
||||
/boost/core//boost_core
|
||||
/boost/predef//boost_predef
|
||||
/boost/preprocessor//boost_preprocessor
|
||||
/boost/static_assert//boost_static_assert
|
||||
/boost/type_traits//boost_type_traits
|
||||
/boost/utility//boost_utility ;
|
||||
|
||||
project /boost/mpl
|
||||
: common-requirements
|
||||
<include>include
|
||||
;
|
||||
|
||||
explicit
|
||||
[ alias boost_mpl : : : : <library>$(boost_dependencies) ]
|
||||
[ alias all : boost_mpl example test ]
|
||||
;
|
||||
|
||||
call-if : boost-library mpl
|
||||
;
|
||||
|
||||
+3
-1
@@ -7,9 +7,11 @@
|
||||
|
||||
import testing ;
|
||||
|
||||
project : requirements <library>/boost/mpl//boost_mpl ;
|
||||
|
||||
test-suite "mpl-examples"
|
||||
: [ run inherit_linearly.cpp ]
|
||||
[ compile integer.cpp ]
|
||||
[ run tuple_from_list.cpp ]
|
||||
[ run tuple_from_list.cpp : : : <library>/boost/tuple//boost_tuple ]
|
||||
;
|
||||
|
||||
|
||||
@@ -56,7 +56,8 @@ struct AUX_WRAPPER_NAME
|
||||
// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),
|
||||
// while some other don't like 'value + 1' (Borland), and some don't like
|
||||
// either
|
||||
#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243)
|
||||
#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243) \
|
||||
|| __cplusplus >= 201103L
|
||||
private:
|
||||
BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)));
|
||||
BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)));
|
||||
|
||||
+5
-1
@@ -1,5 +1,6 @@
|
||||
project
|
||||
: requirements
|
||||
<library>/boost/mpl//boost_mpl
|
||||
<warnings>extra
|
||||
<toolset>clang:<cxxflags>-Wno-variadic-macros
|
||||
<toolset>gcc:<cxxflags>-Wshadow
|
||||
@@ -49,7 +50,8 @@ compile find.cpp ;
|
||||
compile find_if.cpp ;
|
||||
compile fold.cpp ;
|
||||
run for_each.cpp
|
||||
: : : <cxxstd>98:<build>no <cxxstd>03:<build>no ;
|
||||
: : : <cxxstd>98:<build>no <cxxstd>03:<build>no
|
||||
<library>/boost/bind//boost_bind ;
|
||||
compile front.cpp ;
|
||||
compile get_tag_def.cpp ;
|
||||
compile has_xxx.cpp ;
|
||||
@@ -110,3 +112,5 @@ compile vector.cpp ;
|
||||
compile vector_c.cpp ;
|
||||
compile zip_view.cpp ;
|
||||
run string.cpp ;
|
||||
|
||||
run issue_69.cpp ;
|
||||
|
||||
@@ -13,12 +13,17 @@
|
||||
|
||||
#include <boost/mpl/char.hpp>
|
||||
#include <boost/preprocessor/repeat.hpp>
|
||||
#include <climits>
|
||||
|
||||
#include "integral_wrapper_test.hpp"
|
||||
|
||||
|
||||
MPL_TEST_CASE()
|
||||
{
|
||||
#if CHAR_MAX > 0
|
||||
# define WRAPPER(T, i) char_<static_cast<char>(i)>
|
||||
#else
|
||||
# define WRAPPER(T, i) char_<i>
|
||||
#endif
|
||||
BOOST_PP_REPEAT(10, INTEGRAL_WRAPPER_TEST, char)
|
||||
}
|
||||
|
||||
+8
-3
@@ -13,6 +13,7 @@
|
||||
|
||||
#include <boost/mpl/integral_c.hpp>
|
||||
#include <boost/preprocessor/repeat.hpp>
|
||||
#include <climits>
|
||||
|
||||
#include "integral_wrapper_test.hpp"
|
||||
|
||||
@@ -21,10 +22,14 @@ MPL_TEST_CASE()
|
||||
{
|
||||
# define WRAPPER(T, i) integral_c<T,i>
|
||||
|
||||
#if !(defined(__APPLE_CC__) && defined(__GNUC__) && (__GNUC__ == 3) && (__GNUC_MINOR__ <= 3))
|
||||
BOOST_PP_REPEAT(10, INTEGRAL_WRAPPER_TEST, char)
|
||||
#endif
|
||||
BOOST_PP_REPEAT(10, INTEGRAL_WRAPPER_TEST, short)
|
||||
BOOST_PP_REPEAT(10, INTEGRAL_WRAPPER_TEST, int)
|
||||
BOOST_PP_REPEAT(10, INTEGRAL_WRAPPER_TEST, long)
|
||||
|
||||
#if CHAR_MAX > 0
|
||||
# undef WRAPPER
|
||||
# define WRAPPER(T, i) integral_c<T,static_cast<T>(i)>
|
||||
#endif
|
||||
|
||||
BOOST_PP_REPEAT(10, INTEGRAL_WRAPPER_TEST, char)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
// Copyright 2024 Peter Dimov
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// https://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
#include <boost/mpl/integral_c.hpp>
|
||||
|
||||
enum test { zero, one };
|
||||
|
||||
int main()
|
||||
{
|
||||
boost::mpl::integral_c<test, zero> m;
|
||||
return m.value;
|
||||
}
|
||||
Reference in New Issue
Block a user