Compare commits

...

5 Commits

Author SHA1 Message Date
8bf7682f54 Rework as esp-idf component 2023-11-23 17:17:05 +01:00
46c7a05f82 Update CMakeLists.txt 2021-06-10 00:47:04 +03:00
da6801c691 Merge pull request #18 from eldiener/develop
Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74. Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost conf…
2020-08-24 14:15:39 +03:00
d30c81ab01 Update .travis.yml 2020-08-24 13:41:27 +03:00
0ebcad0700 Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-28 12:23:23 -04:00
9 changed files with 35 additions and 33 deletions

View File

@ -4,16 +4,14 @@
language: cpp
sudo: false
python: "2.7"
branches:
only:
- master
- develop
- /feature\/.*/
dist: xenial
env:
matrix:
- BOGUS_JOB=true
@ -78,7 +76,6 @@ matrix:
- ubuntu-toolchain-r-test
- os: linux
dist: trusty
compiler: g++-7
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17
addons:
@ -99,10 +96,8 @@ matrix:
apt:
packages:
- clang-3.5
- libstdc++-4.9-dev
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.5
- os: linux
compiler: clang++-3.6
@ -113,7 +108,6 @@ matrix:
- clang-3.6
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.6
- os: linux
compiler: clang++-3.7
@ -124,7 +118,6 @@ matrix:
- clang-3.7
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.7
- os: linux
compiler: clang++-3.8
@ -133,10 +126,8 @@ matrix:
apt:
packages:
- clang-3.8
- libstdc++-4.9-dev
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
- os: linux
compiler: clang++-3.9
@ -145,10 +136,8 @@ matrix:
apt:
packages:
- clang-3.9
- libstdc++-4.9-dev
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.9
- os: linux
compiler: clang++-4.0
@ -159,7 +148,6 @@ matrix:
- clang-4.0
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-4.0
- os: linux
compiler: clang++-5.0
@ -170,7 +158,6 @@ matrix:
- clang-5.0
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-5.0
- os: osx
compiler: clang++

View File

@ -1,12 +1,11 @@
# Copyright 2018 Mike Dev
# 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
#
# NOTE: CMake support for Boost.typeof is currently experimental at best
# and the interface is likely to change in the future
cmake_minimum_required(VERSION 3.5)
project(BoostTypeof LANGUAGES CXX)
if(NOT DEFINED IDF_TARGET)
cmake_minimum_required(VERSION 3.5...3.20)
project(boost_typeof VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
add_library(boost_typeof INTERFACE)
add_library(Boost::typeof ALIAS boost_typeof)
@ -20,3 +19,19 @@ target_link_libraries(boost_typeof
Boost::type_traits
)
else()
FILE(GLOB_RECURSE headers include/*.h include/*.hpp)
idf_component_register(
SRCS
${headers}
INCLUDE_DIRS
include
REQUIRES
boost_config
boost_preprocessor
boost_type_traits
)
endif()

View File

@ -37,7 +37,7 @@
#define BOOST_TYPEOF_pointer_fun(T) T*
#define BOOST_TYPEOF_reference_fun(T) T&
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
#if defined(__BORLANDC__) && !defined(__clang__) && (__BORLANDC__ < 0x600)
//Borland incorrectly handles T const, T const volatile and T volatile.
//It drops the decoration no matter what, so we need to try to handle T* const etc. without loosing the top modifier.
#define BOOST_TYPEOF_const_pointer_fun(T) T const *
@ -56,7 +56,7 @@ BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_co
BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_pointer_fun);
BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_reference_fun);
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
#if defined(__BORLANDC__) && !defined(__clang__) && (__BORLANDC__ < 0x600)
BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_pointer_fun);
BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_reference_fun);
BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_pointer_fun);
@ -74,7 +74,7 @@ BOOST_TYPEOF_END_ENCODE_NS
#undef BOOST_TYPEOF_pointer_fun
#undef BOOST_TYPEOF_reference_fun
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
#if defined(__BORLANDC__) && !defined(__clang__) && (__BORLANDC__ < 0x600)
#undef BOOST_TYPEOF_const_pointer_fun
#undef BOOST_TYPEOF_const_reference_fun
#undef BOOST_TYPEOF_volatile_pointer_fun

View File

@ -35,14 +35,14 @@ BOOST_TYPEOF_REGISTER_TYPE(wchar_t)
#endif
#if (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
|| (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER == 1200))
|| (defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x600) && (_MSC_VER == 1200))
BOOST_TYPEOF_REGISTER_TYPE(unsigned __int8)
BOOST_TYPEOF_REGISTER_TYPE(__int8)
BOOST_TYPEOF_REGISTER_TYPE(unsigned __int16)
BOOST_TYPEOF_REGISTER_TYPE(__int16)
BOOST_TYPEOF_REGISTER_TYPE(unsigned __int32)
BOOST_TYPEOF_REGISTER_TYPE(__int32)
#ifdef __BORLANDC__
#ifdef BOOST_BORLANDC
BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
BOOST_TYPEOF_REGISTER_TYPE(__int64)
#endif

View File

@ -16,7 +16,7 @@ BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_string, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_string, 2)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_string, 3)
#ifndef __BORLANDC__
#ifndef BOOST_BORLANDC
//Borland chokes on this "double definition" of string
BOOST_TYPEOF_REGISTER_TYPE(std::string)
#endif

View File

@ -23,7 +23,7 @@
#include <boost/typeof/integral_template_param.hpp>
#include <boost/typeof/template_template_param.hpp>
#ifdef __BORLANDC__
#ifdef BOOST_BORLANDC
#define BOOST_TYPEOF_QUALIFY(P) self_t::P
#else
#define BOOST_TYPEOF_QUALIFY(P) P

View File

@ -93,7 +93,7 @@ namespace boost { namespace type_of {
#define BOOST_TYPEOF_TYPEDEF_INT_PN(z,n,Params) typedef int BOOST_PP_CAT(P,n);
#ifdef __BORLANDC__
#if defined(__BORLANDC__) && !defined(__clang__)
#define BOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME BOOST_PP_CAT(\
BOOST_PP_CAT(\
BOOST_PP_CAT(\

View File

@ -84,7 +84,7 @@
# define BOOST_TYPEOF_KEYWORD __typeof__
# endif
# endif
#elif defined __CODEGEARC__
#elif defined BOOST_CODEGEARC
# ifndef BOOST_TYPEOF_EMULATION
# ifndef BOOST_TYPEOF_NATIVE
# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
@ -92,7 +92,7 @@
# else
# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
# endif
#elif defined __BORLANDC__
#elif defined BOOST_BORLANDC
# ifndef BOOST_TYPEOF_EMULATION
# ifndef BOOST_TYPEOF_NATIVE
# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
@ -142,8 +142,8 @@
# error native typeof is not supported
# endif
#elif defined(__BORLANDC__)
# if (__BORLANDC__ < 0x590)
#elif defined(BOOST_BORLANDC)
# if (BOOST_BORLANDC < 0x590)
# define BOOST_TYPEOF_NO_FUNCTION_TYPES
# define BOOST_TYPEOF_NO_MEMBER_FUNCTION_TYPES
# endif

View File

@ -107,7 +107,7 @@ namespace boost { namespace type_of {
typedef _typeof_encode_fraction<self_t::iteration> fraction_type;
#endif
#ifdef __BORLANDC__
#ifdef BOOST_BORLANDC
namespace boost { namespace type_of {
template<typename Pos,typename Iter>
struct generic_typeof_fraction_iter {