mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
workaround for libc++1101: no constexpr char_trais
This commit is contained in:
parent
bbbf484a24
commit
ce16e24637
16 changed files with 376 additions and 3 deletions
39
sprout/config/stdlib/dinkumware.hpp
Normal file
39
sprout/config/stdlib/dinkumware.hpp
Normal file
|
@ -0,0 +1,39 @@
|
|||
#ifndef SPROUT_CONFIG_STDLIB_DINKUMWARE_HPP
|
||||
#define SPROUT_CONFIG_STDLIB_DINKUMWARE_HPP
|
||||
|
||||
#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520
|
||||
# define SPROUT_NO_CXX11_HDR_ARRAY
|
||||
# define SPROUT_NO_CXX11_HDR_CODECVT
|
||||
# define SPROUT_NO_CXX11_HDR_FORWARD_LIST
|
||||
# define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define SPROUT_NO_CXX11_HDR_RANDOM
|
||||
# define SPROUT_NO_CXX11_HDR_REGEX
|
||||
# define SPROUT_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
# define SPROUT_NO_CXX11_HDR_UNORDERED_MAP
|
||||
# define SPROUT_NO_CXX11_HDR_UNORDERED_SET
|
||||
# define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
# define SPROUT_NO_CXX11_HDR_TYPEINDEX
|
||||
# define SPROUT_NO_CXX11_HDR_FUNCTIONAL
|
||||
# define SPROUT_NO_CXX11_NUMERIC_LIMITS
|
||||
# define SPROUT_NO_CXX11_SMART_PTR
|
||||
#endif
|
||||
|
||||
#if (!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(SPROUT_NO_CXX11_HDR_TUPLE)
|
||||
# define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
#endif
|
||||
|
||||
#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 540
|
||||
# define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
# define SPROUT_NO_CXX11_HDR_CHRONO
|
||||
# define SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define SPROUT_NO_CXX11_HDR_FUTURE
|
||||
# define SPROUT_NO_CXX11_HDR_MUTEX
|
||||
# define SPROUT_NO_CXX11_HDR_RATIO
|
||||
# define SPROUT_NO_CXX11_HDR_THREAD
|
||||
# define SPROUT_NO_CXX11_ALLOCATOR
|
||||
# define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#endif
|
||||
|
||||
#define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_STDLIB_DINKUMWARE_HPP
|
28
sprout/config/stdlib/libcomo.hpp
Normal file
28
sprout/config/stdlib/libcomo.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
#ifndef SPROUT_CONFIG_STDLIB_LIBCOMO_HPP
|
||||
#define SPROUT_CONFIG_STDLIB_LIBCOMO_HPP
|
||||
|
||||
#define SPROUT_NO_CXX11_HDR_ARRAY
|
||||
#define SPROUT_NO_CXX11_HDR_CHRONO
|
||||
#define SPROUT_NO_CXX11_HDR_CODECVT
|
||||
#define SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
#define SPROUT_NO_CXX11_HDR_FORWARD_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_FUTURE
|
||||
#define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_MUTEX
|
||||
#define SPROUT_NO_CXX11_HDR_RANDOM
|
||||
#define SPROUT_NO_CXX11_HDR_RATIO
|
||||
#define SPROUT_NO_CXX11_HDR_REGEX
|
||||
#define SPROUT_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
#define SPROUT_NO_CXX11_HDR_THREAD
|
||||
#define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
#define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define SPROUT_NO_CXX11_HDR_TYPEINDEX
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_MAP
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_SET
|
||||
#define SPROUT_NO_CXX11_NUMERIC_LIMITS
|
||||
#define SPROUT_NO_CXX11_ALLOCATOR
|
||||
#define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_HDR_FUNCTIONAL
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_STDLIB_LIBCOMO_HPP
|
18
sprout/config/stdlib/libcpp.hpp
Normal file
18
sprout/config/stdlib/libcpp.hpp
Normal file
|
@ -0,0 +1,18 @@
|
|||
#ifndef SPROUT_CONFIG_STDLIB_LIBCPP_HPP
|
||||
#define SPROUT_CONFIG_STDLIB_LIBCPP_HPP
|
||||
|
||||
#ifdef _LIBCPP_HAS_NO_VARIADICS
|
||||
# define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_NO_CXX11_HDR_CHRONO
|
||||
#define SPROUT_NO_CXX11_HDR_FUTURE
|
||||
#define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
|
||||
#include <utility>
|
||||
#if defined(_LIBCPP_VERSION) && (_LIBCPP_VERSION < 1101)
|
||||
# define SPROUT_NO_CXX11_CHAR_TRAITS
|
||||
#endif
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_STDLIB_LIBCPP_HPP
|
48
sprout/config/stdlib/libstdcpp3.hpp
Normal file
48
sprout/config/stdlib/libstdcpp3.hpp
Normal file
|
@ -0,0 +1,48 @@
|
|||
#ifndef SPROUT_CONFIG_STDLIB_LIBSTDCPP3_HPP
|
||||
#define SPROUT_CONFIG_STDLIB_LIBSTDCPP3_HPP
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define SPROUT_NO_CXX11_HDR_ARRAY
|
||||
# define SPROUT_NO_CXX11_HDR_REGEX
|
||||
# define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
# define SPROUT_NO_CXX11_HDR_UNORDERED_MAP
|
||||
# define SPROUT_NO_CXX11_HDR_UNORDERED_SET
|
||||
# define SPROUT_NO_CXX11_HDR_FUNCTIONAL
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define SPROUT_NO_CXX11_HDR_FORWARD_LIST
|
||||
# define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define SPROUT_NO_CXX11_HDR_MUTEX
|
||||
# define SPROUT_NO_CXX11_HDR_RATIO
|
||||
# define SPROUT_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
# define SPROUT_NO_CXX11_SMART_PTR
|
||||
#endif
|
||||
|
||||
#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) && (!defined(SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE) || !defined(SPROUT_NO_CXX11_HDR_MUTEX))
|
||||
# define SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define SPROUT_NO_CXX11_HDR_MUTEX
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define SPROUT_NO_CXX11_NUMERIC_LIMITS
|
||||
# define SPROUT_NO_CXX11_HDR_FUTURE
|
||||
# define SPROUT_NO_CXX11_HDR_RANDOM
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define SPROUT_NO_CXX11_HDR_TYPEINDEX
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define SPROUT_NO_CXX11_HDR_CHRONO
|
||||
# define SPROUT_NO_CXX11_ALLOCATOR
|
||||
#endif
|
||||
|
||||
#define SPROUT_NO_CXX11_HDR_THREAD
|
||||
#define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define SPROUT_NO_CXX11_HDR_CODECVT
|
||||
#define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_STDLIB_LIBSTDCPP3_HPP
|
28
sprout/config/stdlib/modena.hpp
Normal file
28
sprout/config/stdlib/modena.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
#ifndef SPROUT_CONFIG_STDLIB_MODENA_HPP
|
||||
#define SPROUT_CONFIG_STDLIB_MODENA_HPP
|
||||
|
||||
#define SPROUT_NO_CXX11_HDR_ARRAY
|
||||
#define SPROUT_NO_CXX11_HDR_CHRONO
|
||||
#define SPROUT_NO_CXX11_HDR_CODECVT
|
||||
#define SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
#define SPROUT_NO_CXX11_HDR_FORWARD_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_FUTURE
|
||||
#define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_MUTEX
|
||||
#define SPROUT_NO_CXX11_HDR_RANDOM
|
||||
#define SPROUT_NO_CXX11_HDR_RATIO
|
||||
#define SPROUT_NO_CXX11_HDR_REGEX
|
||||
#define SPROUT_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
#define SPROUT_NO_CXX11_HDR_THREAD
|
||||
#define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
#define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define SPROUT_NO_CXX11_HDR_TYPEINDEX
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_MAP
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_SET
|
||||
#define SPROUT_NO_CXX11_NUMERIC_LIMITS
|
||||
#define SPROUT_NO_CXX11_ALLOCATOR
|
||||
#define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_HDR_FUNCTIONAL
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_STDLIB_MODENA_HPP
|
28
sprout/config/stdlib/msl.hpp
Normal file
28
sprout/config/stdlib/msl.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
#ifndef SPROUT_CONFIG_STDLIB_MSL_HPP
|
||||
#define SPROUT_CONFIG_STDLIB_MSL_HPP
|
||||
|
||||
#define SPROUT_NO_CXX11_HDR_ARRAY
|
||||
#define SPROUT_NO_CXX11_HDR_CHRONO
|
||||
#define SPROUT_NO_CXX11_HDR_CODECVT
|
||||
#define SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
#define SPROUT_NO_CXX11_HDR_FORWARD_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_FUTURE
|
||||
#define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_MUTEX
|
||||
#define SPROUT_NO_CXX11_HDR_RANDOM
|
||||
#define SPROUT_NO_CXX11_HDR_RATIO
|
||||
#define SPROUT_NO_CXX11_HDR_REGEX
|
||||
#define SPROUT_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
#define SPROUT_NO_CXX11_HDR_THREAD
|
||||
#define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
#define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define SPROUT_NO_CXX11_HDR_TYPEINDEX
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_MAP
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_SET
|
||||
#define SPROUT_NO_CXX11_NUMERIC_LIMITS
|
||||
#define SPROUT_NO_CXX11_ALLOCATOR
|
||||
#define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_HDR_FUNCTIONAL
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_STDLIB_MSL_HPP
|
31
sprout/config/stdlib/roguewave.hpp
Normal file
31
sprout/config/stdlib/roguewave.hpp
Normal file
|
@ -0,0 +1,31 @@
|
|||
#ifndef SPROUT_CONFIG_STDLIB_ROGUEWAVE_HPP
|
||||
#define SPROUT_CONFIG_STDLIB_ROGUEWAVE_HPP
|
||||
|
||||
#if _RWSTD_VER < 0x05000000
|
||||
# define SPROUT_NO_CXX11_HDR_ARRAY
|
||||
#endif
|
||||
|
||||
#define SPROUT_NO_CXX11_HDR_CHRONO
|
||||
#define SPROUT_NO_CXX11_HDR_CODECVT
|
||||
#define SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
#define SPROUT_NO_CXX11_HDR_FORWARD_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_FUTURE
|
||||
#define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_MUTEX
|
||||
#define SPROUT_NO_CXX11_HDR_RANDOM
|
||||
#define SPROUT_NO_CXX11_HDR_RATIO
|
||||
#define SPROUT_NO_CXX11_HDR_REGEX
|
||||
#define SPROUT_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
#define SPROUT_NO_CXX11_HDR_THREAD
|
||||
#define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
#define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define SPROUT_NO_CXX11_HDR_TYPEINDEX
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_MAP
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_SET
|
||||
#define SPROUT_NO_CXX11_NUMERIC_LIMITS
|
||||
#define SPROUT_NO_CXX11_ALLOCATOR
|
||||
#define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_HDR_FUNCTIONAL
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_STDLIB_ROGUEWAVE_HPP
|
28
sprout/config/stdlib/sgi.hpp
Normal file
28
sprout/config/stdlib/sgi.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
#ifndef SPROUT_CONFIG_STDLIB_SGI_HPP
|
||||
#define SPROUT_CONFIG_STDLIB_SGI_HPP
|
||||
|
||||
#define SPROUT_NO_CXX11_HDR_ARRAY
|
||||
#define SPROUT_NO_CXX11_HDR_CHRONO
|
||||
#define SPROUT_NO_CXX11_HDR_CODECVT
|
||||
#define SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
#define SPROUT_NO_CXX11_HDR_FORWARD_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_FUTURE
|
||||
#define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_MUTEX
|
||||
#define SPROUT_NO_CXX11_HDR_RANDOM
|
||||
#define SPROUT_NO_CXX11_HDR_RATIO
|
||||
#define SPROUT_NO_CXX11_HDR_REGEX
|
||||
#define SPROUT_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
#define SPROUT_NO_CXX11_HDR_THREAD
|
||||
#define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
#define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define SPROUT_NO_CXX11_HDR_TYPEINDEX
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_MAP
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_SET
|
||||
#define SPROUT_NO_CXX11_NUMERIC_LIMITS
|
||||
#define SPROUT_NO_CXX11_ALLOCATOR
|
||||
#define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_HDR_FUNCTIONAL
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_STDLIB_SGI_HPP
|
28
sprout/config/stdlib/stlport.hpp
Normal file
28
sprout/config/stdlib/stlport.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
#ifndef SPROUT_CONFIG_STDLIB_STLPORT_HPP
|
||||
#define SPROUT_CONFIG_STDLIB_STLPORT_HPP
|
||||
|
||||
#define SPROUT_NO_CXX11_HDR_ARRAY
|
||||
#define SPROUT_NO_CXX11_HDR_CHRONO
|
||||
#define SPROUT_NO_CXX11_HDR_CODECVT
|
||||
#define SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
#define SPROUT_NO_CXX11_HDR_FORWARD_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_FUTURE
|
||||
#define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_MUTEX
|
||||
#define SPROUT_NO_CXX11_HDR_RANDOM
|
||||
#define SPROUT_NO_CXX11_HDR_RATIO
|
||||
#define SPROUT_NO_CXX11_HDR_REGEX
|
||||
#define SPROUT_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
#define SPROUT_NO_CXX11_HDR_THREAD
|
||||
#define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
#define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define SPROUT_NO_CXX11_HDR_TYPEINDEX
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_MAP
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_SET
|
||||
#define SPROUT_NO_CXX11_NUMERIC_LIMITS
|
||||
#define SPROUT_NO_CXX11_ALLOCATOR
|
||||
#define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_HDR_FUNCTIONAL
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_STDLIB_STLPORT_HPP
|
28
sprout/config/stdlib/vacpp.hpp
Normal file
28
sprout/config/stdlib/vacpp.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
#ifndef SPROUT_CONFIG_STDLIB_VACPP_HPP
|
||||
#define SPROUT_CONFIG_STDLIB_VACPP_HPP
|
||||
|
||||
#define SPROUT_NO_CXX11_HDR_ARRAY
|
||||
#define SPROUT_NO_CXX11_HDR_CHRONO
|
||||
#define SPROUT_NO_CXX11_HDR_CODECVT
|
||||
#define SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
#define SPROUT_NO_CXX11_HDR_FORWARD_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_FUTURE
|
||||
#define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define SPROUT_NO_CXX11_HDR_MUTEX
|
||||
#define SPROUT_NO_CXX11_HDR_RANDOM
|
||||
#define SPROUT_NO_CXX11_HDR_RATIO
|
||||
#define SPROUT_NO_CXX11_HDR_REGEX
|
||||
#define SPROUT_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
#define SPROUT_NO_CXX11_HDR_THREAD
|
||||
#define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
#define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define SPROUT_NO_CXX11_HDR_TYPEINDEX
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_MAP
|
||||
#define SPROUT_NO_CXX11_HDR_UNORDERED_SET
|
||||
#define SPROUT_NO_CXX11_NUMERIC_LIMITS
|
||||
#define SPROUT_NO_CXX11_ALLOCATOR
|
||||
#define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_HDR_FUNCTIONAL
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_STDLIB_VACPP_HPP
|
Loading…
Add table
Add a link
Reference in a new issue