mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-25 23:06:10 +01:00
Split REMOVE_PARENS from catch_preprocessor.hpp
This way, some headers can include just the new header, which transitively decreases the total include size of test_macros.hpp.
This commit is contained in:
parent
574d042821
commit
b520257676
@ -116,6 +116,7 @@ set(INTERNAL_HEADERS
|
|||||||
${SOURCES_DIR}/internal/catch_platform.hpp
|
${SOURCES_DIR}/internal/catch_platform.hpp
|
||||||
${SOURCES_DIR}/internal/catch_polyfills.hpp
|
${SOURCES_DIR}/internal/catch_polyfills.hpp
|
||||||
${SOURCES_DIR}/internal/catch_preprocessor.hpp
|
${SOURCES_DIR}/internal/catch_preprocessor.hpp
|
||||||
|
${SOURCES_DIR}/internal/catch_preprocessor_remove_parens.hpp
|
||||||
${SOURCES_DIR}/internal/catch_random_number_generator.hpp
|
${SOURCES_DIR}/internal/catch_random_number_generator.hpp
|
||||||
${SOURCES_DIR}/internal/catch_random_seed_generation.hpp
|
${SOURCES_DIR}/internal/catch_random_seed_generation.hpp
|
||||||
${SOURCES_DIR}/reporters/catch_reporter_registrars.hpp
|
${SOURCES_DIR}/reporters/catch_reporter_registrars.hpp
|
||||||
|
@ -79,6 +79,7 @@
|
|||||||
#include <catch2/internal/catch_platform.hpp>
|
#include <catch2/internal/catch_platform.hpp>
|
||||||
#include <catch2/internal/catch_polyfills.hpp>
|
#include <catch2/internal/catch_polyfills.hpp>
|
||||||
#include <catch2/internal/catch_preprocessor.hpp>
|
#include <catch2/internal/catch_preprocessor.hpp>
|
||||||
|
#include <catch2/internal/catch_preprocessor_remove_parens.hpp>
|
||||||
#include <catch2/internal/catch_random_number_generator.hpp>
|
#include <catch2/internal/catch_random_number_generator.hpp>
|
||||||
#include <catch2/internal/catch_random_seed_generation.hpp>
|
#include <catch2/internal/catch_random_seed_generation.hpp>
|
||||||
#include <catch2/internal/catch_reporter_registry.hpp>
|
#include <catch2/internal/catch_reporter_registry.hpp>
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
#ifndef CATCH_PREPROCESSOR_HPP_INCLUDED
|
#ifndef CATCH_PREPROCESSOR_HPP_INCLUDED
|
||||||
#define CATCH_PREPROCESSOR_HPP_INCLUDED
|
#define CATCH_PREPROCESSOR_HPP_INCLUDED
|
||||||
|
|
||||||
|
#include <catch2/internal/catch_preprocessor_remove_parens.hpp>
|
||||||
|
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__)
|
||||||
// We need to silence "empty __VA_ARGS__ warning", and using just _Pragma does not work
|
// We need to silence "empty __VA_ARGS__ warning", and using just _Pragma does not work
|
||||||
@ -59,10 +60,6 @@
|
|||||||
|
|
||||||
#define CATCH_REC_LIST(f, ...) CATCH_RECURSE(CATCH_REC_LIST2(f, __VA_ARGS__, ()()(), ()()(), ()()(), 0))
|
#define CATCH_REC_LIST(f, ...) CATCH_RECURSE(CATCH_REC_LIST2(f, __VA_ARGS__, ()()(), ()()(), ()()(), 0))
|
||||||
|
|
||||||
#define INTERNAL_CATCH_EXPAND1(param) INTERNAL_CATCH_EXPAND2(param)
|
|
||||||
#define INTERNAL_CATCH_EXPAND2(...) INTERNAL_CATCH_NO## __VA_ARGS__
|
|
||||||
#define INTERNAL_CATCH_DEF(...) INTERNAL_CATCH_DEF __VA_ARGS__
|
|
||||||
#define INTERNAL_CATCH_NOINTERNAL_CATCH_DEF
|
|
||||||
#define INTERNAL_CATCH_STRINGIZE(...) INTERNAL_CATCH_STRINGIZE2(__VA_ARGS__)
|
#define INTERNAL_CATCH_STRINGIZE(...) INTERNAL_CATCH_STRINGIZE2(__VA_ARGS__)
|
||||||
#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
|
#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
|
||||||
#define INTERNAL_CATCH_STRINGIZE2(...) #__VA_ARGS__
|
#define INTERNAL_CATCH_STRINGIZE2(...) #__VA_ARGS__
|
||||||
@ -77,8 +74,6 @@
|
|||||||
#define INTERNAL_CATCH_MAKE_NAMESPACE2(...) ns_##__VA_ARGS__
|
#define INTERNAL_CATCH_MAKE_NAMESPACE2(...) ns_##__VA_ARGS__
|
||||||
#define INTERNAL_CATCH_MAKE_NAMESPACE(name) INTERNAL_CATCH_MAKE_NAMESPACE2(name)
|
#define INTERNAL_CATCH_MAKE_NAMESPACE(name) INTERNAL_CATCH_MAKE_NAMESPACE2(name)
|
||||||
|
|
||||||
#define INTERNAL_CATCH_REMOVE_PARENS(...) INTERNAL_CATCH_EXPAND1(INTERNAL_CATCH_DEF __VA_ARGS__)
|
|
||||||
|
|
||||||
#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
|
#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
|
||||||
#define INTERNAL_CATCH_MAKE_TYPE_LIST2(...) decltype(get_wrapper<INTERNAL_CATCH_REMOVE_PARENS_GEN(__VA_ARGS__)>())
|
#define INTERNAL_CATCH_MAKE_TYPE_LIST2(...) decltype(get_wrapper<INTERNAL_CATCH_REMOVE_PARENS_GEN(__VA_ARGS__)>())
|
||||||
#define INTERNAL_CATCH_MAKE_TYPE_LIST(...) INTERNAL_CATCH_MAKE_TYPE_LIST2(INTERNAL_CATCH_REMOVE_PARENS(__VA_ARGS__))
|
#define INTERNAL_CATCH_MAKE_TYPE_LIST(...) INTERNAL_CATCH_MAKE_TYPE_LIST2(INTERNAL_CATCH_REMOVE_PARENS(__VA_ARGS__))
|
||||||
|
19
src/catch2/internal/catch_preprocessor_remove_parens.hpp
Normal file
19
src/catch2/internal/catch_preprocessor_remove_parens.hpp
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
// Copyright Catch2 Authors
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// https://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
// SPDX-License-Identifier: BSL-1.0
|
||||||
|
#ifndef CATCH_PREPROCESSOR_REMOVE_PARENS_HPP_INCLUDED
|
||||||
|
#define CATCH_PREPROCESSOR_REMOVE_PARENS_HPP_INCLUDED
|
||||||
|
|
||||||
|
#define INTERNAL_CATCH_EXPAND1( param ) INTERNAL_CATCH_EXPAND2( param )
|
||||||
|
#define INTERNAL_CATCH_EXPAND2( ... ) INTERNAL_CATCH_NO##__VA_ARGS__
|
||||||
|
#define INTERNAL_CATCH_DEF( ... ) INTERNAL_CATCH_DEF __VA_ARGS__
|
||||||
|
#define INTERNAL_CATCH_NOINTERNAL_CATCH_DEF
|
||||||
|
|
||||||
|
#define INTERNAL_CATCH_REMOVE_PARENS( ... ) \
|
||||||
|
INTERNAL_CATCH_EXPAND1( INTERNAL_CATCH_DEF __VA_ARGS__ )
|
||||||
|
|
||||||
|
#endif // CATCH_PREPROCESSOR_REMOVE_PARENS_HPP_INCLUDED
|
@ -14,7 +14,7 @@
|
|||||||
#include <catch2/internal/catch_stringref.hpp>
|
#include <catch2/internal/catch_stringref.hpp>
|
||||||
#include <catch2/internal/catch_unique_ptr.hpp>
|
#include <catch2/internal/catch_unique_ptr.hpp>
|
||||||
#include <catch2/internal/catch_unique_name.hpp>
|
#include <catch2/internal/catch_unique_name.hpp>
|
||||||
#include <catch2/internal/catch_preprocessor.hpp>
|
#include <catch2/internal/catch_preprocessor_remove_parens.hpp>
|
||||||
|
|
||||||
// GCC 5 and older do not properly handle disabling unused-variable warning
|
// GCC 5 and older do not properly handle disabling unused-variable warning
|
||||||
// with a _Pragma. This means that we have to leak the suppression to the
|
// with a _Pragma. This means that we have to leak the suppression to the
|
||||||
|
Loading…
Reference in New Issue
Block a user