mirror of
https://github.com/ETLCPP/etl.git
synced 2026-04-30 19:09:10 +08:00
Added experimental assert function handler
This commit is contained in:
parent
56c95b474b
commit
91a345bb17
2
.gitignore
vendored
2
.gitignore
vendored
@ -391,3 +391,5 @@ test/test_file_list.txt
|
||||
examples/QueuedMessageRouter/vs2022/.vs/QueuedMessageRouter/CopilotIndices
|
||||
examples/QueuedMessageRouter/vs2022/.vs/QueuedMessageRouter/FileContentIndex
|
||||
examples/QueuedMessageRouter/vs2022/.vs/QueuedMessageRouter/v17
|
||||
test/etl_error_handler/assert_errors/build-make
|
||||
test/etl_error_handler/assert_function/build-make
|
||||
|
||||
@ -255,6 +255,38 @@ namespace etl
|
||||
}
|
||||
};
|
||||
}
|
||||
#elif defined(ETL_USE_ASSERT_FUNCTION)
|
||||
namespace etl
|
||||
{
|
||||
namespace private_error_handler
|
||||
{
|
||||
typedef void(*assert_function_ptr_t)(const etl::exception&);
|
||||
|
||||
// Stores the assert function pointer and default assert function.
|
||||
template <size_t N>
|
||||
struct assert_handler
|
||||
{
|
||||
static assert_function_ptr_t assert_function_ptr;
|
||||
|
||||
static void default_assert(const etl::exception&)
|
||||
{
|
||||
assert(false);
|
||||
}
|
||||
};
|
||||
|
||||
template <size_t N>
|
||||
assert_function_ptr_t assert_handler<N>::assert_function_ptr = assert_handler<N>::default_assert;
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Sets the assert function.
|
||||
/// The argument function signature is void(*)(const etl::exception&)
|
||||
//***************************************************************************
|
||||
void set_assert_function(etl::private_error_handler::assert_function_ptr_t afptr)
|
||||
{
|
||||
etl::private_error_handler::assert_handler<0>::assert_function_ptr = afptr;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
@ -264,6 +296,7 @@ namespace etl
|
||||
/// If ETL_NO_CHECKS is defined then no runtime checks are executed at all.
|
||||
/// If asserts or exceptions are enabled then the error is thrown if the assert fails. The return value is always 'true'.
|
||||
/// If ETL_LOG_ERRORS is defined then the error is logged if the assert fails. The return value is the value of the boolean test.
|
||||
/// If ETL_USE_ASSERT_FUNCTION is defined then the error is sent to the assert function.
|
||||
/// Otherwise 'assert' is called. The return value is always 'true'.
|
||||
///\ingroup error_handler
|
||||
//***************************************************************************
|
||||
@ -275,6 +308,14 @@ namespace etl
|
||||
#define ETL_ASSERT_FAIL(e) ETL_DO_NOTHING // Does nothing.
|
||||
#define ETL_ASSERT_FAIL_AND_RETURN(e) ETL_DO_NOTHING // Does nothing.
|
||||
#define ETL_ASSERT_FAIL_AND_RETURN_VALUE(e, v) ETL_DO_NOTHING // Does nothing.
|
||||
#elif defined(ETL_USE_ASSERT_FUNCTION)
|
||||
#define ETL_ASSERT(b, e) {if(!(b)) {etl::private_error_handler::assert_handler<0>::assert_function_ptr((e));}} // If the condition fails, calls the assert function
|
||||
#define ETL_ASSERT_OR_RETURN(b, e) {if(!(b)) {etl::private_error_handler::assert_handler<0>::assert_function_ptr((e)); return;}} // If the condition fails, calls the assert function and return
|
||||
#define ETL_ASSERT_OR_RETURN_VALUE(b, e, v) {if(!(b)) {etl::private_error_handler::assert_handler<0>::assert_function_ptr((e)); return (v);}} // If the condition fails, calls the assert function and return a value
|
||||
|
||||
#define ETL_ASSERT_FAIL(e) {etl::private_error_handler::assert_handler<0>::assert_function_ptr((e));} // Calls the assert function
|
||||
#define ETL_ASSERT_FAIL_AND_RETURN(e) {etl::private_error_handler::assert_handler<0>::assert_function_ptr((e)); return;} // Calls the assert function and return
|
||||
#define ETL_ASSERT_FAIL_AND_RETURN_VALUE(e, v) {etl::private_error_handler::assert_handler<0>::assert_function_ptr((e)); return (v);} // Calls the assert function and return a value
|
||||
#elif ETL_USING_EXCEPTIONS
|
||||
#if defined(ETL_LOG_ERRORS)
|
||||
#define ETL_ASSERT(b, e) {if (!(b)) {etl::error_handler::error((e)); throw((e));}} // If the condition fails, calls the error handler then throws an exception.
|
||||
@ -292,7 +333,6 @@ namespace etl
|
||||
#define ETL_ASSERT_FAIL(e) {throw((e));} // Throws an exception.
|
||||
#define ETL_ASSERT_FAIL_AND_RETURN(e) {throw((e));} // Throws an exception.
|
||||
#define ETL_ASSERT_FAIL_AND_RETURN_VALUE(e, v) {throw((e));} // Throws an exception.
|
||||
|
||||
#endif
|
||||
#else
|
||||
#if defined(ETL_LOG_ERRORS)
|
||||
@ -314,8 +354,8 @@ namespace etl
|
||||
#define ETL_ASSERT_FAIL_AND_RETURN_VALUE(e, v) {assert(false); return(v);} // Asserts.
|
||||
#else
|
||||
#define ETL_ASSERT(b, e) // Does nothing.
|
||||
#define ETL_ASSERT_OR_RETURN(b, e) {if (!(b)) return;} // Returns.
|
||||
#define ETL_ASSERT_OR_RETURN_VALUE(b, e, v) {if (!(b)) return(v);} // Returns a value.
|
||||
#define ETL_ASSERT_OR_RETURN(b, e) {if (!(b)) return;} // Returns.
|
||||
#define ETL_ASSERT_OR_RETURN_VALUE(b, e, v) {if (!(b)) return(v);} // Returns a value.
|
||||
|
||||
#define ETL_ASSERT_FAIL(e) // Does nothing.
|
||||
#define ETL_ASSERT_FAIL_AND_RETURN(e) {return;} // Returns.
|
||||
|
||||
@ -640,7 +640,7 @@ namespace etl
|
||||
// See etl::member_function_as_static
|
||||
//*****************************************************************************
|
||||
template <typename T>
|
||||
class ETL_DEPRECATED member_function_wrapper;
|
||||
class member_function_wrapper;
|
||||
|
||||
template <typename TReturn, typename... TParams>
|
||||
class ETL_DEPRECATED member_function_wrapper<TReturn(TParams...)>
|
||||
|
||||
124
test/etl_error_handler/assert_function/CMakeLists.txt
Normal file
124
test/etl_error_handler/assert_function/CMakeLists.txt
Normal file
@ -0,0 +1,124 @@
|
||||
cmake_minimum_required(VERSION 3.5.0)
|
||||
project(etl_error_handler_unit_tests)
|
||||
|
||||
add_definitions(-DETL_DEBUG)
|
||||
add_definitions(-DETL_USE_ASSERT_FUNCTION)
|
||||
add_definitions(-DETL_VERBOSE_ERRORS)
|
||||
|
||||
include_directories(${PROJECT_SOURCE_DIR}/../../../include)
|
||||
|
||||
set(TEST_SOURCE_FILES
|
||||
assert_function.cpp
|
||||
test_error_handler.cpp
|
||||
)
|
||||
|
||||
add_executable(etl_tests
|
||||
${TEST_SOURCE_FILES}
|
||||
)
|
||||
|
||||
if (ETL_CXX_STANDARD MATCHES "98")
|
||||
message(STATUS "Compiling for C++98")
|
||||
set_property(TARGET etl_tests PROPERTY CXX_STANDARD 98)
|
||||
elseif (ETL_CXX_STANDARD MATCHES "03")
|
||||
message(STATUS "Compiling for C++98")
|
||||
set_property(TARGET etl_tests PROPERTY CXX_STANDARD 98)
|
||||
elseif (ETL_CXX_STANDARD MATCHES "11")
|
||||
message(STATUS "Compiling for C++11")
|
||||
set_property(TARGET etl_tests PROPERTY CXX_STANDARD 11)
|
||||
elseif (ETL_CXX_STANDARD MATCHES "14")
|
||||
message(STATUS "Compiling for C++14")
|
||||
set_property(TARGET etl_tests PROPERTY CXX_STANDARD 14)
|
||||
elseif (ETL_CXX_STANDARD MATCHES "17")
|
||||
message(STATUS "Compiling for C++17")
|
||||
set_property(TARGET etl_tests PROPERTY CXX_STANDARD 17)
|
||||
else()
|
||||
message(STATUS "Compiling for C++20")
|
||||
set_property(TARGET etl_tests PROPERTY CXX_STANDARD 20)
|
||||
endif()
|
||||
|
||||
if (ETL_OPTIMISATION MATCHES "-O1")
|
||||
message(STATUS "Compiling with -O1 optimisations")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O1")
|
||||
endif()
|
||||
|
||||
if (ETL_OPTIMISATION MATCHES "-O2")
|
||||
message(STATUS "Compiling with -O2 optimisations")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
||||
endif()
|
||||
|
||||
if (ETL_OPTIMISATION MATCHES "-O3")
|
||||
message(STATUS "Compiling with -O3 optimisations")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
|
||||
endif()
|
||||
|
||||
target_include_directories(etl_tests
|
||||
PUBLIC
|
||||
${CMAKE_CURRENT_LIST_DIR}
|
||||
)
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
message(STATUS "Using GCC compiler")
|
||||
endif ()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
message(STATUS "Using Clang compiler")
|
||||
endif ()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
target_compile_options(etl_tests
|
||||
PRIVATE
|
||||
-fno-omit-frame-pointer
|
||||
-fno-common
|
||||
-Wno-deprecated-declarations
|
||||
-Wall
|
||||
-Wextra
|
||||
-Werror
|
||||
-Wfloat-equal
|
||||
-Wuseless-cast
|
||||
-Wshadow
|
||||
-Wnull-dereference
|
||||
)
|
||||
endif ()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
target_compile_options(etl_tests
|
||||
PRIVATE
|
||||
-fno-omit-frame-pointer
|
||||
-fno-common
|
||||
-Wno-deprecated-declarations
|
||||
-Wall
|
||||
-Wextra
|
||||
-Werror
|
||||
-Wfloat-equal
|
||||
-Wshadow
|
||||
-Wnull-dereference
|
||||
)
|
||||
endif ()
|
||||
|
||||
if ((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
|
||||
if (ETL_ENABLE_SANITIZER MATCHES "ON")
|
||||
message(STATUS "Compiling with Sanitizer enabled")
|
||||
# MinGW doesn't presently support sanitization
|
||||
if (NOT MINGW)
|
||||
target_compile_options(etl_tests
|
||||
PRIVATE
|
||||
-fsanitize=address,undefined,bounds
|
||||
)
|
||||
|
||||
target_link_options(etl_tests
|
||||
PRIVATE
|
||||
-fsanitize=address,undefined,bounds
|
||||
)
|
||||
endif()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# Enable the 'make test' CMake target using the executable defined above
|
||||
add_test(etl_error_handler_unit_tests etl_tests)
|
||||
|
||||
# Since ctest will only show you the results of the single executable
|
||||
# define a target that will output all of the failing or passing tests
|
||||
# as they appear from UnitTest++
|
||||
add_custom_target(test_verbose COMMAND ${CMAKE_CTEST_COMMAND} --verbose)
|
||||
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
|
||||
#include "etl/exception.h"
|
||||
|
||||
5
test/etl_error_handler/assert_function/assert_function.h
Normal file
5
test/etl_error_handler/assert_function/assert_function.h
Normal file
@ -0,0 +1,5 @@
|
||||
#include "etl/exception.h"
|
||||
|
||||
extern void AssertFunction(const etl::exception& /*e*/);
|
||||
|
||||
#define ETL_ASSERT_FUNCTION AssertFunction
|
||||
1
test/etl_error_handler/assert_function/etl_profile.h
Normal file
1
test/etl_error_handler/assert_function/etl_profile.h
Normal file
@ -0,0 +1 @@
|
||||
|
||||
167
test/etl_error_handler/assert_function/test_error_handler.cpp
Normal file
167
test/etl_error_handler/assert_function/test_error_handler.cpp
Normal file
@ -0,0 +1,167 @@
|
||||
/******************************************************************************
|
||||
The MIT License(MIT)
|
||||
|
||||
Embedded Template Library.
|
||||
https://github.com/ETLCPP/std
|
||||
https://www.etlcpp.com
|
||||
|
||||
Copyright(c) 2022 jwellbelove
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files(the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions :
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#include "etl/error_handler.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <iostream>
|
||||
|
||||
#include "assert_function.h"
|
||||
|
||||
int assert_return_count = 0;
|
||||
int assert_count = 0;
|
||||
|
||||
//*****************************************************************************
|
||||
void assert_function(const etl::exception& e)
|
||||
{
|
||||
std::cout << "Exception " << e.what() << " raised\n";
|
||||
|
||||
++assert_count;
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
class test_exception : public etl::exception
|
||||
{
|
||||
public:
|
||||
|
||||
test_exception(string_type reason_, string_type file_name_, numeric_type line_number_)
|
||||
: exception(reason_, file_name_, line_number_)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
//*****************************************************************************
|
||||
class test_exception_1 : public test_exception
|
||||
{
|
||||
public:
|
||||
|
||||
test_exception_1(string_type file_name_, numeric_type line_number_)
|
||||
: test_exception(ETL_ERROR_TEXT("Test Exception 1", "1A"), file_name_, line_number_)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
//*****************************************************************************
|
||||
void Assert(bool state)
|
||||
{
|
||||
ETL_ASSERT(state, ETL_ERROR(test_exception_1));
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
void AssertFail()
|
||||
{
|
||||
ETL_ASSERT_FAIL(ETL_ERROR(test_exception_1));
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
void AssertAndReturn(bool state)
|
||||
{
|
||||
ETL_ASSERT_OR_RETURN(state, ETL_ERROR(test_exception_1));
|
||||
|
||||
++assert_return_count;
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
void AssertFailAndReturn()
|
||||
{
|
||||
ETL_ASSERT_FAIL_AND_RETURN(ETL_ERROR(test_exception_1));
|
||||
|
||||
++assert_return_count;
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
bool AssertAndReturnValue(bool state)
|
||||
{
|
||||
ETL_ASSERT_OR_RETURN_VALUE(state, ETL_ERROR(test_exception_1), true);
|
||||
|
||||
++assert_return_count;
|
||||
return false;
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
bool AssertFailAndReturnValue()
|
||||
{
|
||||
ETL_ASSERT_FAIL_AND_RETURN_VALUE(ETL_ERROR(test_exception_1), true);
|
||||
|
||||
++assert_return_count;
|
||||
return false;
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
int main()
|
||||
{
|
||||
etl::set_assert_function(assert_function);
|
||||
|
||||
Assert(false);
|
||||
Assert(true);
|
||||
AssertFail();
|
||||
|
||||
AssertAndReturn(false);
|
||||
AssertAndReturn(true);
|
||||
AssertFailAndReturn();
|
||||
|
||||
if (AssertAndReturnValue(false))
|
||||
{
|
||||
++assert_return_count;
|
||||
}
|
||||
|
||||
if (AssertAndReturnValue(true))
|
||||
{
|
||||
++assert_return_count;
|
||||
}
|
||||
|
||||
if (AssertFailAndReturnValue())
|
||||
{
|
||||
++assert_return_count;
|
||||
}
|
||||
|
||||
bool assert_count_passed = (assert_count == 6);
|
||||
|
||||
if (assert_count_passed)
|
||||
{
|
||||
std::cout << "Log Count Passed\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Log Count Failed\n";
|
||||
}
|
||||
|
||||
bool return_count_passed = (assert_return_count == 4);
|
||||
|
||||
if (return_count_passed)
|
||||
{
|
||||
std::cout << "Return Count Passed\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Return Count Failed\n";
|
||||
}
|
||||
|
||||
return (assert_count_passed && return_count_passed) ? 0 : 1;
|
||||
}
|
||||
|
||||
@ -3349,6 +3349,21 @@
|
||||
<ClInclude Include="..\..\include\etl\wstring.h" />
|
||||
<ClInclude Include="..\..\include\etl\wstring_stream.h" />
|
||||
<ClInclude Include="..\data.h" />
|
||||
<ClInclude Include="..\etl_error_handler\assert_function\etl_profile.h">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No virtual imessage|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++ 20 - No Tests|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No STL|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++14|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - No STL - Optimised -O2|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - No STL - Optimised -O2 - Sanitiser|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++17|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++17 - No STL|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - Optimised O2|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No virtual messages|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++14 - No STL|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - Force C++03|Win32'">true</ExcludedFromBuild>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\etl_error_handler\exceptions\etl_profile.h">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC - Small Strings|Win32'">true</ExcludedFromBuild>
|
||||
@ -3545,6 +3560,36 @@
|
||||
<ClInclude Include="..\unit_test_framework.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\etl_error_handler\assert_function\assert_function.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No virtual imessage|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++ 20 - No Tests|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No STL|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++14|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - No STL - Optimised -O2|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - No STL - Optimised -O2 - Sanitiser|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++17|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++17 - No STL|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - Optimised O2|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No virtual messages|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++14 - No STL|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - Force C++03|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\etl_error_handler\assert_function\test_error_handler.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No virtual imessage|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++ 20 - No Tests|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No STL|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++14|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - No STL - Optimised -O2|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - No STL - Optimised -O2 - Sanitiser|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++17|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++17 - No STL|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - Optimised O2|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No virtual messages|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++14 - No STL|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - Force C++03|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\etl_error_handler\exceptions\test_error_handler.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC - Small Strings|Win32'">true</ExcludedFromBuild>
|
||||
@ -9085,6 +9130,21 @@
|
||||
<Text Include="..\..\todo.txt" />
|
||||
<Text Include="..\..\version.txt" />
|
||||
<Text Include="..\CMakeLists.txt" />
|
||||
<Text Include="..\etl_error_handler\assert_function\CMakeLists.txt">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No virtual imessage|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++ 20 - No Tests|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No STL|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++14|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - No STL - Optimised -O2|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - No STL - Optimised -O2 - Sanitiser|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++17|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++17 - No STL|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - Optimised O2|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No virtual messages|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++14 - No STL|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - Force C++03|Win32'">true</ExcludedFromBuild>
|
||||
</Text>
|
||||
<Text Include="..\etl_error_handler\exceptions\CMakeLists.txt">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC - Small Strings|Win32'">true</ExcludedFromBuild>
|
||||
|
||||
@ -229,6 +229,9 @@
|
||||
<Filter Include="Tests\Codecs\Base64">
|
||||
<UniqueIdentifier>{e2e649e4-10ee-4ed7-baa3-eb889e552ba1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Tests\Error Handler\Assert Function">
|
||||
<UniqueIdentifier>{f51cb264-5376-47db-89d9-a515e1ac4af7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\include\etl\enum_type.h">
|
||||
@ -1416,6 +1419,9 @@
|
||||
<ClInclude Include="..\..\include\etl\uncopyable.h">
|
||||
<Filter>ETL\Utilities</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\etl_error_handler\assert_function\etl_profile.h">
|
||||
<Filter>Tests\Error Handler\Assert Function</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\test_string_char.cpp">
|
||||
@ -3395,6 +3401,12 @@
|
||||
<ClCompile Include="..\syntax_check\uncopyable.h.t.cpp">
|
||||
<Filter>Tests\Syntax Checks\Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\etl_error_handler\assert_function\assert_function.cpp">
|
||||
<Filter>Tests\Error Handler\Assert Function</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\etl_error_handler\assert_function\test_error_handler.cpp">
|
||||
<Filter>Tests\Error Handler\Assert Function</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\library.properties">
|
||||
@ -3600,6 +3612,9 @@
|
||||
<Text Include="..\syntax_check\log.txt">
|
||||
<Filter>Tests\Syntax Checks\Source</Filter>
|
||||
</Text>
|
||||
<Text Include="..\etl_error_handler\assert_function\CMakeLists.txt">
|
||||
<Filter>Tests\Error Handler\Assert Function</Filter>
|
||||
</Text>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="..\..\etl.ico">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user