init
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled
This commit is contained in:
233
cmake/external/glib/cppgir/expected-lite/test/CMakeLists.txt
vendored
Normal file
233
cmake/external/glib/cppgir/expected-lite/test/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
# Copyright 2016-2018 by Martin Moene
|
||||
#
|
||||
# https://github.com/martinmoene/expected-lite
|
||||
#
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
if( NOT DEFINED CMAKE_MINIMUM_REQUIRED_VERSION )
|
||||
cmake_minimum_required( VERSION 3.5 FATAL_ERROR )
|
||||
endif()
|
||||
|
||||
project( test LANGUAGES CXX )
|
||||
|
||||
set( unit_name "expected" )
|
||||
set( PACKAGE ${unit_name}-lite )
|
||||
set( PROGRAM ${unit_name}-lite )
|
||||
set( SOURCES ${unit_name}-main.t.cpp ${unit_name}.t.cpp )
|
||||
set( TWEAKD "." )
|
||||
|
||||
message( STATUS "Subproject '${PROJECT_NAME}', programs '${PROGRAM}-*'")
|
||||
|
||||
set( OPTIONS "" )
|
||||
set( DEFCMN "-Dlest_FEATURE_AUTO_REGISTER=1" )
|
||||
|
||||
set( HAS_STD_FLAGS FALSE )
|
||||
set( HAS_CPP98_FLAG FALSE )
|
||||
set( HAS_CPP11_FLAG FALSE )
|
||||
set( HAS_CPP14_FLAG FALSE )
|
||||
set( HAS_CPP17_FLAG FALSE )
|
||||
set( HAS_CPP20_FLAG FALSE )
|
||||
set( HAS_CPPLATEST_FLAG FALSE )
|
||||
|
||||
if ( EXPEXTED_P0323R LESS "99" )
|
||||
set( DEFCMN ${DEFCMN} "-Dnsel_P0323R=${EXPEXTED_P0323R}" )
|
||||
endif()
|
||||
|
||||
if( MSVC )
|
||||
message( STATUS "Matched: MSVC")
|
||||
|
||||
set( HAS_STD_FLAGS TRUE )
|
||||
|
||||
set( OPTIONS -W3 -EHsc )
|
||||
set( DEFINITIONS -D_SCL_SECURE_NO_WARNINGS ${DEFCMN} )
|
||||
|
||||
if( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.00 )
|
||||
set( HAS_CPP14_FLAG TRUE )
|
||||
set( HAS_CPPLATEST_FLAG TRUE )
|
||||
endif()
|
||||
if( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.11 )
|
||||
set( HAS_CPP17_FLAG TRUE )
|
||||
endif()
|
||||
|
||||
elseif( CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang" )
|
||||
message( STATUS "CompilerId: '${CMAKE_CXX_COMPILER_ID}'")
|
||||
|
||||
set( HAS_STD_FLAGS TRUE )
|
||||
set( HAS_CPP98_FLAG TRUE )
|
||||
|
||||
set( OPTIONS -Wall -Wextra -Wconversion -Wsign-conversion -Wno-missing-braces -fno-elide-constructors )
|
||||
set( DEFINITIONS ${DEFCMN} )
|
||||
|
||||
# GNU: available -std flags depends on version
|
||||
if( CMAKE_CXX_COMPILER_ID MATCHES "GNU" )
|
||||
message( STATUS "Matched: GNU")
|
||||
|
||||
if( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8.0 )
|
||||
set( HAS_CPP11_FLAG TRUE )
|
||||
endif()
|
||||
if( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9.2 )
|
||||
set( HAS_CPP14_FLAG TRUE )
|
||||
endif()
|
||||
if( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.1.0 )
|
||||
set( HAS_CPP17_FLAG TRUE )
|
||||
endif()
|
||||
|
||||
# AppleClang: available -std flags depends on version
|
||||
elseif( CMAKE_CXX_COMPILER_ID MATCHES "AppleClang" )
|
||||
message( STATUS "Matched: AppleClang")
|
||||
|
||||
if( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0.0 )
|
||||
set( HAS_CPP11_FLAG TRUE )
|
||||
endif()
|
||||
if( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1.0 )
|
||||
set( HAS_CPP14_FLAG TRUE )
|
||||
endif()
|
||||
if( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.2.0 )
|
||||
set( HAS_CPP17_FLAG TRUE )
|
||||
endif()
|
||||
|
||||
# Clang: available -std flags depends on version
|
||||
elseif( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
|
||||
message( STATUS "Matched: Clang")
|
||||
|
||||
if( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.3.0 )
|
||||
set( HAS_CPP11_FLAG TRUE )
|
||||
endif()
|
||||
if( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4.0 )
|
||||
set( HAS_CPP14_FLAG TRUE )
|
||||
endif()
|
||||
if( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0.0 )
|
||||
set( HAS_CPP17_FLAG TRUE )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
elseif( CMAKE_CXX_COMPILER_ID MATCHES "Intel" )
|
||||
# as is
|
||||
message( STATUS "Matched: Intel")
|
||||
else()
|
||||
# as is
|
||||
message( STATUS "Matched: nothing")
|
||||
endif()
|
||||
|
||||
# enable MS C++ Core Guidelines checker if MSVC:
|
||||
|
||||
function( enable_msvs_guideline_checker target )
|
||||
if( MSVC )
|
||||
set_target_properties( ${target} PROPERTIES
|
||||
VS_GLOBAL_EnableCppCoreCheck true
|
||||
VS_GLOBAL_CodeAnalysisRuleSet CppCoreCheckRules.ruleset
|
||||
VS_GLOBAL_RunCodeAnalysis true )
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# make target, compile for given standard if specified:
|
||||
|
||||
function( make_target target std )
|
||||
message( STATUS "Make target: '${std}'" )
|
||||
|
||||
add_executable ( ${target} ${SOURCES} )
|
||||
target_include_directories( ${target} SYSTEM PRIVATE lest )
|
||||
target_include_directories( ${target} PRIVATE ${TWEAKD} )
|
||||
target_link_libraries ( ${target} PRIVATE ${PACKAGE} )
|
||||
target_compile_options ( ${target} PRIVATE ${OPTIONS} )
|
||||
target_compile_definitions( ${target} PRIVATE ${DEFINITIONS} )
|
||||
|
||||
if( std )
|
||||
if( MSVC )
|
||||
target_compile_options( ${target} PRIVATE -std:c++${std} )
|
||||
else()
|
||||
# Necessary for clang 3.x:
|
||||
target_compile_options( ${target} PRIVATE -std=c++${std} )
|
||||
# Ok for clang 4 and later:
|
||||
# set( CMAKE_CXX_STANDARD ${std} )
|
||||
# set( CMAKE_CXX_STANDARD_REQUIRED ON )
|
||||
# set( CMAKE_CXX_EXTENSIONS OFF )
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# add generic executable, unless -std flags can be specified:
|
||||
|
||||
if( NOT HAS_STD_FLAGS )
|
||||
make_target( ${PROGRAM}.t "" )
|
||||
else()
|
||||
# # unconditionally add C++98 variant as MSVC has no option for it:
|
||||
# if( HAS_CPP98_FLAG )
|
||||
# make_target( ${PROGRAM}-cpp98.t 98 )
|
||||
# else()
|
||||
# make_target( ${PROGRAM}-cpp98.t "" )
|
||||
# endif()
|
||||
|
||||
# unconditionally add C++11 variant as MSVC has no option for it:
|
||||
if( HAS_CPP11_FLAG )
|
||||
make_target( ${PROGRAM}-cpp11.t 11 )
|
||||
else()
|
||||
make_target( ${PROGRAM}-cpp11.t "" )
|
||||
endif()
|
||||
|
||||
if( HAS_CPP14_FLAG )
|
||||
make_target( ${PROGRAM}-cpp14.t 14 )
|
||||
endif()
|
||||
|
||||
if( HAS_CPP17_FLAG )
|
||||
set( std17 17 )
|
||||
if( CMAKE_CXX_COMPILER_ID MATCHES "AppleClang" )
|
||||
set( std17 1z )
|
||||
endif()
|
||||
make_target( ${PROGRAM}-cpp17.t ${std17} )
|
||||
enable_msvs_guideline_checker( ${PROGRAM}-cpp17.t )
|
||||
endif()
|
||||
|
||||
if( HAS_CPPLATEST_FLAG )
|
||||
make_target( ${PROGRAM}-cpplatest.t latest )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# with C++20, honour explicit request for std::expected or nonstd::expected:
|
||||
|
||||
if( HAS_CPP20_FLAG )
|
||||
set( WHICH nsel_EXPECTED_DEFAULT )
|
||||
|
||||
if( EXPECTED_LITE_OPT_SELECT_STD )
|
||||
set( WHICH nsel_EXPECTED_STD )
|
||||
elseif( EXPECTED_LITE_OPT_SELECT_NONSTD )
|
||||
set( WHICH nsel_EXPECTED_NONSTD )
|
||||
endif()
|
||||
|
||||
target_compile_definitions( ${PROGRAM}-cpp17.t PRIVATE nsel_CONFIG_SELECT_EXPECTED=${WHICH} )
|
||||
|
||||
if( HAS_CPPLATEST_FLAG )
|
||||
target_compile_definitions( ${PROGRAM}-cpplatest.t PRIVATE nsel_CONFIG_SELECT_EXPECTED=${WHICH} )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# configure unit tests via CTest:
|
||||
|
||||
enable_testing()
|
||||
|
||||
if( HAS_STD_FLAGS )
|
||||
# # unconditionally add C++98 variant for MSVC:
|
||||
# add_test( NAME test-cpp98 COMMAND ${PROGRAM}-cpp98.t )
|
||||
#
|
||||
|
||||
# unconditionally add C++11 variant for MSVC:
|
||||
add_test( NAME test-cpp11 COMMAND ${PROGRAM}-cpp11.t )
|
||||
|
||||
if( HAS_CPP14_FLAG )
|
||||
add_test( NAME test-cpp14 COMMAND ${PROGRAM}-cpp14.t )
|
||||
endif()
|
||||
if( HAS_CPP17_FLAG )
|
||||
add_test( NAME test-cpp17 COMMAND ${PROGRAM}-cpp17.t )
|
||||
endif()
|
||||
if( HAS_CPPLATEST_FLAG )
|
||||
add_test( NAME test-cpplatest COMMAND ${PROGRAM}-cpplatest.t )
|
||||
endif()
|
||||
else()
|
||||
add_test( NAME test COMMAND ${PROGRAM}.t --pass )
|
||||
add_test( NAME list_version COMMAND ${PROGRAM}.t --version )
|
||||
add_test( NAME list_tags COMMAND ${PROGRAM}.t --list-tags )
|
||||
add_test( NAME list_tests COMMAND ${PROGRAM}.t --list-tests )
|
||||
endif()
|
||||
|
||||
# end of file
|
||||
131
cmake/external/glib/cppgir/expected-lite/test/expected-main.t.cpp
vendored
Normal file
131
cmake/external/glib/cppgir/expected-lite/test/expected-main.t.cpp
vendored
Normal file
@@ -0,0 +1,131 @@
|
||||
// Copyright (c) 2016-2018 Martin Moene
|
||||
//
|
||||
// https://github.com/martinmoene/expected-lite
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#include "expected-main.t.hpp"
|
||||
|
||||
#define expected_PRESENT( x ) \
|
||||
std::cout << #x << ": " << x << "\n"
|
||||
|
||||
#define expected_ABSENT( x ) \
|
||||
std::cout << #x << ": (undefined)\n"
|
||||
|
||||
// Suppress:
|
||||
// - unused parameter, for cases without assertions such as [.std...]
|
||||
#if defined(__clang__)
|
||||
# pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
#elif defined __GNUC__
|
||||
# pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
#endif
|
||||
|
||||
lest::tests & specification()
|
||||
{
|
||||
static lest::tests tests;
|
||||
return tests;
|
||||
}
|
||||
|
||||
CASE( "expected-lite version" "[.expected][.version]" )
|
||||
{
|
||||
expected_PRESENT( expected_lite_MAJOR );
|
||||
expected_PRESENT( expected_lite_MINOR );
|
||||
expected_PRESENT( expected_lite_PATCH );
|
||||
expected_PRESENT( expected_lite_VERSION );
|
||||
}
|
||||
|
||||
CASE( "any configuration" "[.expected][.config]" )
|
||||
{
|
||||
expected_PRESENT( nsel_HAVE_STD_EXPECTED );
|
||||
expected_PRESENT( nsel_USES_STD_EXPECTED );
|
||||
expected_PRESENT( nsel_EXPECTED_DEFAULT );
|
||||
expected_PRESENT( nsel_EXPECTED_NONSTD );
|
||||
expected_PRESENT( nsel_EXPECTED_STD );
|
||||
expected_PRESENT( nsel_CONFIG_SELECT_EXPECTED );
|
||||
expected_PRESENT( nsel_CONFIG_NO_EXCEPTIONS );
|
||||
expected_PRESENT( nsel_CPLUSPLUS );
|
||||
}
|
||||
|
||||
CASE( "__cplusplus" "[.stdc++]" )
|
||||
{
|
||||
expected_PRESENT( __cplusplus );
|
||||
|
||||
#ifdef _MSVC_LANG
|
||||
expected_PRESENT( _MSVC_LANG );
|
||||
#else
|
||||
expected_ABSENT( _MSVC_LANG );
|
||||
#endif
|
||||
}
|
||||
|
||||
CASE( "Compiler version" "[.compiler]" )
|
||||
{
|
||||
#if nsel_USES_STD_EXPECTED
|
||||
std::cout << "(Compiler version not available: using std::expected)\n";
|
||||
#else
|
||||
expected_PRESENT( nsel_COMPILER_CLANG_VERSION );
|
||||
expected_PRESENT( nsel_COMPILER_GNUC_VERSION );
|
||||
expected_PRESENT( nsel_COMPILER_MSVC_VERSION );
|
||||
#endif
|
||||
}
|
||||
|
||||
CASE( "presence of C++ language features" "[.stdlanguage]" )
|
||||
{
|
||||
#if nsel_USES_STD_EXPECTED
|
||||
std::cout << "(Presence of C++ language features not available: using std::expected)\n";
|
||||
#else
|
||||
std::cout << "[.stdlanguage]: none\n";
|
||||
#endif
|
||||
}
|
||||
|
||||
CASE( "presence of C++ library features" "[.stdlibrary]" )
|
||||
{
|
||||
#if nsel_USES_STD_EXPECTED
|
||||
std::cout << "(Presence of C++ library features not available: using std::expected)\n";
|
||||
#else
|
||||
|
||||
#ifdef __cpp_exceptions
|
||||
expected_PRESENT( __cpp_exceptions );
|
||||
#else
|
||||
expected_ABSENT( __cpp_exceptions );
|
||||
#endif
|
||||
|
||||
#ifdef __EXCEPTIONS
|
||||
expected_PRESENT( __EXCEPTIONS );
|
||||
#else
|
||||
expected_ABSENT( __EXCEPTIONS );
|
||||
#endif
|
||||
|
||||
#ifdef _HAS_EXCEPTIONS
|
||||
expected_PRESENT( _HAS_EXCEPTIONS );
|
||||
#else
|
||||
expected_ABSENT( _HAS_EXCEPTIONS );
|
||||
#endif
|
||||
|
||||
#ifdef _CPPUNWIND
|
||||
expected_PRESENT( _CPPUNWIND );
|
||||
#else
|
||||
expected_ABSENT( _CPPUNWIND );
|
||||
#endif
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
int main( int argc, char * argv[] )
|
||||
{
|
||||
return lest::run( specification(), argc, argv );
|
||||
}
|
||||
|
||||
#if 0
|
||||
g++ -I../include -o expected-lite.t.exe expected-lite.t.cpp && expected-lite.t.exe --pass
|
||||
g++ -std=c++98 -I../include -o expected-lite.t.exe expected-lite.t.cpp && expected-lite.t.exe --pass
|
||||
g++ -std=c++03 -I../include -o expected-lite.t.exe expected-lite.t.cpp && expected-lite.t.exe --pass
|
||||
g++ -std=c++0x -I../include -o expected-lite.t.exe expected-lite.t.cpp && expected-lite.t.exe --pass
|
||||
g++ -std=c++11 -I../include -o expected-lite.t.exe expected-lite.t.cpp && expected-lite.t.exe --pass
|
||||
g++ -std=c++14 -I../include -o expected-lite.t.exe expected-lite.t.cpp && expected-lite.t.exe --pass
|
||||
g++ -std=c++17 -I../include -o expected-lite.t.exe expected-lite.t.cpp && expected-lite.t.exe --pass
|
||||
|
||||
cl -EHsc -I../include expected-lite.t.cpp && expected-lite.t.exe --pass
|
||||
#endif
|
||||
|
||||
// end of file
|
||||
74
cmake/external/glib/cppgir/expected-lite/test/expected-main.t.hpp
vendored
Normal file
74
cmake/external/glib/cppgir/expected-lite/test/expected-main.t.hpp
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
// Copyright (c) 2016-2018 Martin Moene
|
||||
//
|
||||
// https://github.com/martinmoene/expected-lite
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef TEST_EXPECTED_LITE_H_INCLUDED
|
||||
#define TEST_EXPECTED_LITE_H_INCLUDED
|
||||
|
||||
// Limit C++ Core Guidelines checking to expected-lite:
|
||||
|
||||
#include "nonstd/expected.hpp"
|
||||
|
||||
#if nsel_COMPILER_MSVC_VER >= 1910
|
||||
# include <CppCoreCheck/Warnings.h>
|
||||
# pragma warning(disable: ALL_CPPCORECHECK_WARNINGS)
|
||||
#endif
|
||||
|
||||
#include <iosfwd>
|
||||
namespace lest {
|
||||
|
||||
template< typename T, typename E >
|
||||
std::ostream & operator<<( std::ostream & os, nonstd::expected<T,E> const & );
|
||||
|
||||
template< typename E >
|
||||
std::ostream & operator<<( std::ostream & os, nonstd::expected<void,E> const & );
|
||||
} // namespace lest
|
||||
|
||||
// Compiler warning suppression for usage of lest:
|
||||
|
||||
#ifdef __clang__
|
||||
# pragma clang diagnostic ignored "-Wstring-conversion"
|
||||
# pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
# pragma clang diagnostic ignored "-Wunused-template"
|
||||
# pragma clang diagnostic ignored "-Wunused-function"
|
||||
# pragma clang diagnostic ignored "-Wunused-member-function"
|
||||
#elif defined __GNUC__
|
||||
# pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
# pragma GCC diagnostic ignored "-Wunused-function"
|
||||
#endif
|
||||
|
||||
#include "lest.hpp"
|
||||
|
||||
#define CASE( name ) lest_CASE( specification(), name )
|
||||
|
||||
extern lest::tests & specification();
|
||||
|
||||
namespace lest {
|
||||
|
||||
// use oparator<< instead of to_string() overload;
|
||||
// see http://stackoverflow.com/a/10651752/437272
|
||||
|
||||
template< typename T, typename E >
|
||||
inline std::ostream & operator<<( std::ostream & os, nonstd::expected<T,E> const & v )
|
||||
{
|
||||
using lest::to_string;
|
||||
return os << "[expected:" << (v ? to_string(*v) : "[empty]") << "]";
|
||||
}
|
||||
|
||||
template< typename E >
|
||||
inline std::ostream & operator<<( std::ostream & os, nonstd::expected<void,E> const & v )
|
||||
{
|
||||
using lest::to_string;
|
||||
return os << "[expected<void>:" << (v ? "[non-empty]" : "[empty]") << "]";
|
||||
}
|
||||
|
||||
} // namespace lest
|
||||
|
||||
#endif // TEST_EXPECTED_LITE_H_INCLUDED
|
||||
|
||||
// end of file
|
||||
78
cmake/external/glib/cppgir/expected-lite/test/expected-noexcept.t.cpp
vendored
Normal file
78
cmake/external/glib/cppgir/expected-lite/test/expected-noexcept.t.cpp
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
// Copyright (c) 2016-2020 Martin Moene
|
||||
//
|
||||
// https://github.com/martinmoene/expected-lite
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#include "nonstd/expected.hpp"
|
||||
#include <iostream>
|
||||
|
||||
template< typename T >
|
||||
void use( T const & /*x*/) {}
|
||||
|
||||
#define expected_PRESENT( x ) \
|
||||
std::cout << #x << ": " << x << "\n"
|
||||
|
||||
#define expected_ABSENT( x ) \
|
||||
std::cout << #x << ": (undefined)\n"
|
||||
|
||||
void report()
|
||||
{
|
||||
#ifdef __cpp_exceptions
|
||||
expected_PRESENT( __cpp_exceptions );
|
||||
#else
|
||||
expected_ABSENT( __cpp_exceptions );
|
||||
#endif
|
||||
|
||||
#ifdef __EXCEPTIONS
|
||||
expected_PRESENT( __EXCEPTIONS );
|
||||
#else
|
||||
expected_ABSENT( __EXCEPTIONS );
|
||||
#endif
|
||||
|
||||
#ifdef _HAS_EXCEPTIONS
|
||||
expected_PRESENT( _HAS_EXCEPTIONS );
|
||||
#else
|
||||
expected_ABSENT( _HAS_EXCEPTIONS );
|
||||
#endif
|
||||
|
||||
#ifdef _CPPUNWIND
|
||||
expected_PRESENT( _CPPUNWIND );
|
||||
#else
|
||||
expected_ABSENT( _CPPUNWIND );
|
||||
#endif
|
||||
|
||||
#ifdef _CPPRTTI
|
||||
expected_PRESENT( _CPPRTTI );
|
||||
#else
|
||||
expected_ABSENT( _CPPRTTI );
|
||||
#endif
|
||||
}
|
||||
|
||||
int violate_access()
|
||||
{
|
||||
nonstd::expected<int, char> eu( nonstd:: make_unexpected('a') );
|
||||
|
||||
return eu.value();
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
report();
|
||||
|
||||
#if ! nsel_CONFIG_NO_EXCEPTIONS_SEH
|
||||
return violate_access();
|
||||
#else
|
||||
__try
|
||||
{
|
||||
return violate_access();
|
||||
}
|
||||
__except( EXCEPTION_EXECUTE_HANDLER )
|
||||
{
|
||||
std::cerr << "\n*** Executing SEH __except block ***\n";
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// end of file
|
||||
1839
cmake/external/glib/cppgir/expected-lite/test/expected.t.cpp
vendored
Normal file
1839
cmake/external/glib/cppgir/expected-lite/test/expected.t.cpp
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1483
cmake/external/glib/cppgir/expected-lite/test/lest/lest.hpp
vendored
Normal file
1483
cmake/external/glib/cppgir/expected-lite/test/lest/lest.hpp
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
cmake/external/glib/cppgir/expected-lite/test/nonstd/expected.tweak.hpp
vendored
Normal file
1
cmake/external/glib/cppgir/expected-lite/test/nonstd/expected.tweak.hpp
vendored
Normal file
@@ -0,0 +1 @@
|
||||
#define EXPECTED_TWEAK_VALUE 42
|
||||
3
cmake/external/glib/cppgir/expected-lite/test/odr.cpp
vendored
Normal file
3
cmake/external/glib/cppgir/expected-lite/test/odr.cpp
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
#include "nonstd/expected.hpp"
|
||||
|
||||
MAIN
|
||||
63
cmake/external/glib/cppgir/expected-lite/test/t-noexcept.bat
vendored
Normal file
63
cmake/external/glib/cppgir/expected-lite/test/t-noexcept.bat
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
@echo off & setlocal enableextensions enabledelayedexpansion
|
||||
::
|
||||
:: t.bat - compile & run tests (MSVC).
|
||||
::
|
||||
|
||||
set unit=expected
|
||||
|
||||
:: if no std is given, use compiler default
|
||||
|
||||
set std=%1
|
||||
if not "%std%"=="" set std=-std:%std%
|
||||
|
||||
call :CompilerVersion version
|
||||
echo VC%version%: %args%
|
||||
|
||||
set UCAP=%unit%
|
||||
call :toupper UCAP
|
||||
|
||||
set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_DEFAULT
|
||||
::set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_NONSTD
|
||||
::set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_STD
|
||||
|
||||
set unit_config=
|
||||
|
||||
set msvc_defines=^
|
||||
-Dlest_FEATURE_AUTO_REGISTER=1 ^
|
||||
-D_CRT_SECURE_NO_WARNINGS ^
|
||||
-D_SCL_SECURE_NO_WARNINGS ^
|
||||
-D_HAS_EXCEPTIONS=0 ^
|
||||
-Dnsel_CONFIG_NO_SEH=0
|
||||
|
||||
:: -Dnsel_CONFIG_NO_EXCEPTIONS=1
|
||||
|
||||
set CppCoreCheckInclude=%VCINSTALLDIR%\Auxiliary\VS\include
|
||||
|
||||
:: -EHsc
|
||||
::cl -kernel -GR- -W3 %std% %unit_select% %unit_config% %msvc_defines% -I"%CppCoreCheckInclude%" -I../include -I. %unit%-noexcept.t.cpp && %unit%-noexcept.t.exe
|
||||
cl -EHs -GR- -W3 %std% %unit_select% %unit_config% %msvc_defines% -I"%CppCoreCheckInclude%" -Ilest -I../include -I. %unit%-noexcept.t.cpp && %unit%-noexcept.t.exe
|
||||
endlocal & goto :EOF
|
||||
|
||||
:: subroutines:
|
||||
|
||||
:CompilerVersion version
|
||||
@echo off & setlocal enableextensions
|
||||
set tmpprogram=_getcompilerversion.tmp
|
||||
set tmpsource=%tmpprogram%.c
|
||||
|
||||
echo #include ^<stdio.h^> >%tmpsource%
|
||||
echo int main(){printf("%%d\n",_MSC_VER);} >>%tmpsource%
|
||||
|
||||
cl /nologo %tmpsource% >nul
|
||||
for /f %%x in ('%tmpprogram%') do set version=%%x
|
||||
del %tmpprogram%.* >nul
|
||||
set offset=0
|
||||
if %version% LSS 1900 set /a offset=1
|
||||
set /a version="version / 10 - 10 * ( 5 + offset )"
|
||||
endlocal & set %1=%version%& goto :EOF
|
||||
|
||||
:: toupper; makes use of the fact that string
|
||||
:: replacement (via SET) is not case sensitive
|
||||
:toupper
|
||||
for %%L IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO SET %1=!%1:%%L=%%L!
|
||||
goto :EOF
|
||||
3
cmake/external/glib/cppgir/expected-lite/test/t-odr.bat
vendored
Normal file
3
cmake/external/glib/cppgir/expected-lite/test/t-odr.bat
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
cl -EHsc -DMAIN="" -Dnsel_P0323R=-2 -I../include -I. -Foodr1.obj -c odr.cpp
|
||||
cl -EHsc -DMAIN="int main(){}" -Dnsel_P0323R=-2 -I../include -I. -Foodr2.obj -c odr.cpp
|
||||
cl odr1.obj odr2.obj
|
||||
57
cmake/external/glib/cppgir/expected-lite/test/t.bat
vendored
Normal file
57
cmake/external/glib/cppgir/expected-lite/test/t.bat
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
@echo off & setlocal enableextensions enabledelayedexpansion
|
||||
::
|
||||
:: t.bat - compile & run tests (MSVC).
|
||||
::
|
||||
|
||||
set unit=expected
|
||||
|
||||
:: if no std is given, use compiler default
|
||||
|
||||
set std=%1
|
||||
if not "%std%"=="" set std=-std:%std%
|
||||
|
||||
call :CompilerVersion version
|
||||
echo VC%version%: %args%
|
||||
|
||||
set UCAP=%unit%
|
||||
call :toupper UCAP
|
||||
|
||||
set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_DEFAULT
|
||||
::set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_NONSTD
|
||||
::set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_STD
|
||||
|
||||
set unit_config=
|
||||
|
||||
set msvc_defines=^
|
||||
-Dlest_FEATURE_AUTO_REGISTER=1 ^
|
||||
-D_CRT_SECURE_NO_WARNINGS ^
|
||||
-D_SCL_SECURE_NO_WARNINGS
|
||||
|
||||
set CppCoreCheckInclude=%VCINSTALLDIR%\Auxiliary\VS\include
|
||||
|
||||
cl -nologo -W3 -EHsc %std% %unit_select% %unit_config% %msvc_defines% -I"%CppCoreCheckInclude%" -Ilest -I../include -I. %unit%-main.t.cpp %unit%.t.cpp && %unit%-main.t.exe
|
||||
endlocal & goto :EOF
|
||||
|
||||
:: subroutines:
|
||||
|
||||
:CompilerVersion version
|
||||
@echo off & setlocal enableextensions
|
||||
set tmpprogram=_getcompilerversion.tmp
|
||||
set tmpsource=%tmpprogram%.c
|
||||
|
||||
echo #include ^<stdio.h^> >%tmpsource%
|
||||
echo int main(){printf("%%d\n",_MSC_VER);} >>%tmpsource%
|
||||
|
||||
cl /nologo %tmpsource% >nul
|
||||
for /f %%x in ('%tmpprogram%') do set version=%%x
|
||||
del %tmpprogram%.* >nul
|
||||
set offset=0
|
||||
if %version% LSS 1900 set /a offset=1
|
||||
set /a version="version / 10 - 10 * ( 5 + offset )"
|
||||
endlocal & set %1=%version%& goto :EOF
|
||||
|
||||
:: toupper; makes use of the fact that string
|
||||
:: replacement (via SET) is not case sensitive
|
||||
:toupper
|
||||
for %%L IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO SET %1=!%1:%%L=%%L!
|
||||
goto :EOF
|
||||
60
cmake/external/glib/cppgir/expected-lite/test/tc-cl.bat
vendored
Normal file
60
cmake/external/glib/cppgir/expected-lite/test/tc-cl.bat
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
@echo off & setlocal enableextensions enabledelayedexpansion
|
||||
::
|
||||
:: tc-cl.bat - compile & run tests (clang-cl).
|
||||
::
|
||||
|
||||
set unit=expected
|
||||
set unit_file=%unit%
|
||||
|
||||
:: if no std is given, use c++14
|
||||
|
||||
set std=c++14
|
||||
if NOT "%1" == "" set std=%1 & shift
|
||||
|
||||
set UCAP=%unit%
|
||||
call :toupper UCAP
|
||||
|
||||
set unit_select=%unit%_%UCAP%_NONSTD
|
||||
::set unit_select=%unit%_CONFIG_SELECT_%UCAP%_NONSTD
|
||||
if NOT "%1" == "" set unit_select=%1 & shift
|
||||
|
||||
set args=%1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
|
||||
set clang=clang-cl
|
||||
|
||||
call :CompilerVersion version
|
||||
echo %clang% %version%: %std% %unit_select% %args%
|
||||
|
||||
set unit_config=^
|
||||
-Dlest_FEATURE_AUTO_REGISTER=1 ^
|
||||
-D%unit%_%UCAP%_HEADER=\"nonstd/%unit%.hpp\" ^
|
||||
-D%unit%_TEST_NODISCARD=0 ^
|
||||
-D%unit%_CONFIG_SELECT_%UCAP%=%unit_select%
|
||||
|
||||
rem -flto / -fwhole-program
|
||||
set optflags=-O2
|
||||
set warnflags=-Wall -Wextra -Wpedantic -Weverything -Wshadow -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-padded -Wno-missing-noreturn -Wno-documentation-unknown-command -Wno-documentation-deprecated-sync -Wno-documentation -Wno-weak-vtables -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-exit-time-destructors -Wno-global-constructors -Wno-sign-conversion -Wno-sign-compare -Wno-implicit-int-conversion -Wno-deprecated-declarations -Wno-date-time
|
||||
|
||||
"%clang%" -EHsc -std:%std% %optflags% %warnflags% %unit_config% -fms-compatibility-version=19.00 /imsvc lest -I../include -Ics_string -I. -o %unit_file%-main.t.exe %unit_file%-main.t.cpp %unit_file%.t.cpp && %unit_file%-main.t.exe
|
||||
endlocal & goto :EOF
|
||||
|
||||
:: subroutines:
|
||||
|
||||
:CompilerVersion version
|
||||
echo off & setlocal enableextensions
|
||||
set tmpprogram=_getcompilerversion.tmp
|
||||
set tmpsource=%tmpprogram%.c
|
||||
|
||||
echo #include ^<stdio.h^> > %tmpsource%
|
||||
echo int main(){printf("%%d.%%d.%%d\n",__clang_major__,__clang_minor__,__clang_patchlevel__);} >> %tmpsource%
|
||||
|
||||
"%clang%" -m32 -o %tmpprogram% %tmpsource% >nul
|
||||
for /f %%x in ('%tmpprogram%') do set version=%%x
|
||||
del %tmpprogram%.* >nul
|
||||
endlocal & set %1=%version%& goto :EOF
|
||||
|
||||
:: toupper; makes use of the fact that string
|
||||
:: replacement (via SET) is not case sensitive
|
||||
:toupper
|
||||
for %%L IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO SET %1=!%1:%%L=%%L!
|
||||
goto :EOF
|
||||
53
cmake/external/glib/cppgir/expected-lite/test/tc-noexcept.bat
vendored
Normal file
53
cmake/external/glib/cppgir/expected-lite/test/tc-noexcept.bat
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
@echo off & setlocal enableextensions enabledelayedexpansion
|
||||
::
|
||||
:: tc.bat - compile & run tests (clang).
|
||||
::
|
||||
|
||||
set unit=expected
|
||||
|
||||
:: if no std is given, use c++14
|
||||
|
||||
set std=%1
|
||||
if "%std%"=="" set std=c++14
|
||||
|
||||
set clang=clang
|
||||
|
||||
call :CompilerVersion version
|
||||
echo %clang% %version%: %std%
|
||||
|
||||
set UCAP=%unit%
|
||||
call :toupper UCAP
|
||||
|
||||
set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_DEFAULT
|
||||
::set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_NONSTD
|
||||
::set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_STD
|
||||
|
||||
set unit_config=
|
||||
|
||||
rem -flto / -fwhole-program
|
||||
set optflags=-O2 -fno-exceptions
|
||||
set warnflags=-Wall -Wextra -Wpedantic -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-padded -Wno-missing-noreturn -Wno-documentation-unknown-command -Wno-documentation-deprecated-sync -Wno-documentation -Wno-weak-vtables -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-exit-time-destructors -Wno-global-constructors
|
||||
|
||||
"%clang%" -m32 -std=%std% %optflags% %warnflags% %unit_select% %unit_config% -Dlest_FEATURE_AUTO_REGISTER=1 -fms-compatibility-version=19.00 -isystem "%VCInstallDir%include" -isystem "%WindowsSdkDir_71A%include" -I../include -I. -o %unit%-main.t.exe %unit%-noexcept.t.cpp && %unit%-noexcept.t.exe
|
||||
endlocal & goto :EOF
|
||||
|
||||
:: subroutines:
|
||||
|
||||
:CompilerVersion version
|
||||
echo off & setlocal enableextensions
|
||||
set tmpprogram=_getcompilerversion.tmp
|
||||
set tmpsource=%tmpprogram%.c
|
||||
|
||||
echo #include ^<stdio.h^> > %tmpsource%
|
||||
echo int main(){printf("%%d.%%d.%%d\n",__clang_major__,__clang_minor__,__clang_patchlevel__);} >> %tmpsource%
|
||||
|
||||
"%clang%" -m32 -o %tmpprogram% %tmpsource% >nul
|
||||
for /f %%x in ('%tmpprogram%') do set version=%%x
|
||||
del %tmpprogram%.* >nul
|
||||
endlocal & set %1=%version%& goto :EOF
|
||||
|
||||
:: toupper; makes use of the fact that string
|
||||
:: replacement (via SET) is not case sensitive
|
||||
:toupper
|
||||
for %%L IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO SET %1=!%1:%%L=%%L!
|
||||
goto :EOF
|
||||
53
cmake/external/glib/cppgir/expected-lite/test/tc.bat
vendored
Normal file
53
cmake/external/glib/cppgir/expected-lite/test/tc.bat
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
@echo off & setlocal enableextensions enabledelayedexpansion
|
||||
::
|
||||
:: tc.bat - compile & run tests (clang).
|
||||
::
|
||||
|
||||
set unit=expected
|
||||
|
||||
:: if no std is given, use c++14
|
||||
|
||||
set std=%1
|
||||
if "%std%"=="" set std=c++14
|
||||
|
||||
set clang=clang
|
||||
|
||||
call :CompilerVersion version
|
||||
echo %clang% %version%: %std%
|
||||
|
||||
set UCAP=%unit%
|
||||
call :toupper UCAP
|
||||
|
||||
set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_DEFAULT
|
||||
::set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_NONSTD
|
||||
::set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_STD
|
||||
|
||||
set unit_config=
|
||||
|
||||
rem -flto / -fwhole-program
|
||||
set optflags=-O2
|
||||
set warnflags=-Wall -Wextra -Wpedantic -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-padded -Wno-missing-noreturn -Wno-documentation-unknown-command -Wno-documentation-deprecated-sync -Wno-documentation -Wno-weak-vtables -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-exit-time-destructors -Wno-global-constructors
|
||||
|
||||
"%clang%" -m32 -std=%std% %optflags% %warnflags% %unit_select% %unit_config% -Dlest_FEATURE_AUTO_REGISTER=1 -fms-compatibility-version=19.00 -isystem "%VCInstallDir%include" -isystem "%WindowsSdkDir_71A%include" -isystem lest -I../include -I. -o %unit%-main.t.exe %unit%-main.t.cpp %unit%.t.cpp && %unit%-main.t.exe
|
||||
endlocal & goto :EOF
|
||||
|
||||
:: subroutines:
|
||||
|
||||
:CompilerVersion version
|
||||
echo off & setlocal enableextensions
|
||||
set tmpprogram=_getcompilerversion.tmp
|
||||
set tmpsource=%tmpprogram%.c
|
||||
|
||||
echo #include ^<stdio.h^> > %tmpsource%
|
||||
echo int main(){printf("%%d.%%d.%%d\n",__clang_major__,__clang_minor__,__clang_patchlevel__);} >> %tmpsource%
|
||||
|
||||
"%clang%" -m32 -o %tmpprogram% %tmpsource% >nul
|
||||
for /f %%x in ('%tmpprogram%') do set version=%%x
|
||||
del %tmpprogram%.* >nul
|
||||
endlocal & set %1=%version%& goto :EOF
|
||||
|
||||
:: toupper; makes use of the fact that string
|
||||
:: replacement (via SET) is not case sensitive
|
||||
:toupper
|
||||
for %%L IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO SET %1=!%1:%%L=%%L!
|
||||
goto :EOF
|
||||
3
cmake/external/glib/cppgir/expected-lite/test/tg-all.bat
vendored
Normal file
3
cmake/external/glib/cppgir/expected-lite/test/tg-all.bat
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
@for %%s in ( c++98 c++03 c++11 c++14 c++17 ) do (
|
||||
call tg.bat %%s
|
||||
)
|
||||
55
cmake/external/glib/cppgir/expected-lite/test/tg-noexcept.bat
vendored
Normal file
55
cmake/external/glib/cppgir/expected-lite/test/tg-noexcept.bat
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
@echo off & setlocal enableextensions enabledelayedexpansion
|
||||
::
|
||||
:: tg.bat - compile & run tests (GNUC).
|
||||
::
|
||||
|
||||
set unit=expected
|
||||
|
||||
:: if no std is given, use c++11
|
||||
|
||||
set std=%1
|
||||
set args=%2 %3 %4 %5 %6 %7 %8 %9
|
||||
if "%1" == "" set std=c++11
|
||||
|
||||
set gpp=g++
|
||||
|
||||
call :CompilerVersion version
|
||||
echo %gpp% %version%: %std% %args%
|
||||
|
||||
set UCAP=%unit%
|
||||
call :toupper UCAP
|
||||
|
||||
set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_DEFAULT
|
||||
::set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_NONSTD
|
||||
::set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_STD
|
||||
|
||||
set unit_config=-Dnsel_CONFIG_NO_EXCEPTIONS=1
|
||||
|
||||
rem -flto / -fwhole-program
|
||||
set optflags=-O2 -fno-exceptions
|
||||
set warnflags=-Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -Wno-padded -Wno-missing-noreturn
|
||||
|
||||
%gpp% -std=%std% %optflags% %warnflags% %unit_select% %unit_config% -o %unit%-main.t.exe -Dlest_FEATURE_AUTO_REGISTER=1 -I../include -I. %unit%-noexcept.t.cpp && %unit%-main.t.exe
|
||||
|
||||
endlocal & goto :EOF
|
||||
|
||||
:: subroutines:
|
||||
|
||||
:CompilerVersion version
|
||||
echo off & setlocal enableextensions
|
||||
set tmpprogram=_getcompilerversion.tmp
|
||||
set tmpsource=%tmpprogram%.c
|
||||
|
||||
echo #include ^<stdio.h^> > %tmpsource%
|
||||
echo int main(){printf("%%d.%%d.%%d\n",__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__);} >> %tmpsource%
|
||||
|
||||
%gpp% -o %tmpprogram% %tmpsource% >nul
|
||||
for /f %%x in ('%tmpprogram%') do set version=%%x
|
||||
del %tmpprogram%.* >nul
|
||||
endlocal & set %1=%version%& goto :EOF
|
||||
|
||||
:: toupper; makes use of the fact that string
|
||||
:: replacement (via SET) is not case sensitive
|
||||
:toupper
|
||||
for %%L IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO SET %1=!%1:%%L=%%L!
|
||||
goto :EOF
|
||||
55
cmake/external/glib/cppgir/expected-lite/test/tg.bat
vendored
Normal file
55
cmake/external/glib/cppgir/expected-lite/test/tg.bat
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
@echo off & setlocal enableextensions enabledelayedexpansion
|
||||
::
|
||||
:: tg.bat - compile & run tests (GNUC).
|
||||
::
|
||||
|
||||
set unit=expected
|
||||
|
||||
:: if no std is given, use c++11
|
||||
|
||||
set std=%1
|
||||
set args=%2 %3 %4 %5 %6 %7 %8 %9
|
||||
if "%1" == "" set std=c++11
|
||||
|
||||
set gpp=g++
|
||||
|
||||
call :CompilerVersion version
|
||||
echo %gpp% %version%: %std% %args%
|
||||
|
||||
set UCAP=%unit%
|
||||
call :toupper UCAP
|
||||
|
||||
set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_DEFAULT
|
||||
::set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_NONSTD
|
||||
::set unit_select=-D%unit%_CONFIG_SELECT_%UCAP%=%unit%_%UCAP%_STD
|
||||
|
||||
set unit_config=
|
||||
|
||||
rem -flto / -fwhole-program
|
||||
set optflags=-O2
|
||||
set warnflags=-Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -Wno-padded -Wno-missing-noreturn
|
||||
|
||||
%gpp% -std=%std% %optflags% %warnflags% %unit_select% %unit_config% -o %unit%-main.t.exe -Dlest_FEATURE_AUTO_REGISTER=1 -isystem lest -I../include -I. %unit%-main.t.cpp %unit%.t.cpp && %unit%-main.t.exe
|
||||
|
||||
endlocal & goto :EOF
|
||||
|
||||
:: subroutines:
|
||||
|
||||
:CompilerVersion version
|
||||
echo off & setlocal enableextensions
|
||||
set tmpprogram=_getcompilerversion.tmp
|
||||
set tmpsource=%tmpprogram%.c
|
||||
|
||||
echo #include ^<stdio.h^> > %tmpsource%
|
||||
echo int main(){printf("%%d.%%d.%%d\n",__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__);} >> %tmpsource%
|
||||
|
||||
%gpp% -o %tmpprogram% %tmpsource% >nul
|
||||
for /f %%x in ('%tmpprogram%') do set version=%%x
|
||||
del %tmpprogram%.* >nul
|
||||
endlocal & set %1=%version%& goto :EOF
|
||||
|
||||
:: toupper; makes use of the fact that string
|
||||
:: replacement (via SET) is not case sensitive
|
||||
:toupper
|
||||
for %%L IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO SET %1=!%1:%%L=%%L!
|
||||
goto :EOF
|
||||
Reference in New Issue
Block a user