Merge branch 'master' into develop
This commit is contained in:
		@@ -1,5 +1,11 @@
 | 
			
		||||
cmake_minimum_required(VERSION 2.8)
 | 
			
		||||
 | 
			
		||||
IF(BIICODE)
 | 
			
		||||
  INIT_BIICODE_BLOCK()
 | 
			
		||||
  ADD_BIICODE_TARGETS()
 | 
			
		||||
ELSE()
 | 
			
		||||
  # Your regular CMakeLists configuration here
 | 
			
		||||
 | 
			
		||||
project(chaiscript)
 | 
			
		||||
 | 
			
		||||
# MINGW does not yet support C++11's concurrency features
 | 
			
		||||
@@ -409,3 +415,6 @@ configure_file(contrib/pkgconfig/chaiscript.pc.in lib/pkgconfig/chaiscript.pc @O
 | 
			
		||||
install(FILES "${chaiscript_BINARY_DIR}/lib/pkgconfig/chaiscript.pc"
 | 
			
		||||
        DESTINATION lib/pkgconfig)
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
ENDIF()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								biicode.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								biicode.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
[paths]
 | 
			
		||||
        include
 | 
			
		||||
 | 
			
		||||
[parent]
 | 
			
		||||
	ChaiScript/ChaiScript: 0
 | 
			
		||||
@@ -1,103 +1,103 @@
 | 
			
		||||
# Checks for C++11 features
 | 
			
		||||
#  CXX11_FEATURE_LIST - a list containing all supported features
 | 
			
		||||
#  HAS_CXX11_AUTO               - auto keyword
 | 
			
		||||
#  HAS_CXX11_NULLPTR            - nullptr
 | 
			
		||||
#  HAS_CXX11_LAMBDA             - lambdas
 | 
			
		||||
#  HAS_CXX11_STATIC_ASSERT      - static_assert()
 | 
			
		||||
#  HAS_CXX11_RVALUE_REFERENCES  - rvalue references
 | 
			
		||||
#  HAS_CXX11_DECLTYPE           - decltype keyword
 | 
			
		||||
#  HAS_CXX11_CSTDINT_H          - cstdint header
 | 
			
		||||
#  HAS_CXX11_LONG_LONG          - long long signed & unsigned types
 | 
			
		||||
#  HAS_CXX11_VARIADIC_TEMPLATES - variadic templates
 | 
			
		||||
#  HAS_CXX11_CONSTEXPR          - constexpr keyword
 | 
			
		||||
#  HAS_CXX11_SIZEOF_MEMBER      - sizeof() non-static members
 | 
			
		||||
#  HAS_CXX11_FUNC               - __func__ preprocessor constant
 | 
			
		||||
#
 | 
			
		||||
# Original script by Rolf Eike Beer
 | 
			
		||||
# Modifications by Andreas Weis
 | 
			
		||||
#
 | 
			
		||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3)
 | 
			
		||||
 | 
			
		||||
SET(CHECK_CXX11_OLD_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
 | 
			
		||||
IF(CMAKE_COMPILER_IS_GNUCXX)
 | 
			
		||||
	SET(CMAKE_CXX_FLAGS "-std=c++0x")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
MACRO(CXX11_CHECK_FEATURE FEATURE_NAME FEATURE_NUMBER RESULT_VAR)
 | 
			
		||||
	IF (NOT DEFINED ${RESULT_VAR})
 | 
			
		||||
		SET(_bindir "${CMAKE_CURRENT_BINARY_DIR}/cxx11/cxx11_${FEATURE_NAME}")
 | 
			
		||||
 | 
			
		||||
		IF (${FEATURE_NUMBER})
 | 
			
		||||
			SET(_SRCFILE_BASE ${CMAKE_CURRENT_LIST_DIR}/c++11-test-${FEATURE_NAME}-N${FEATURE_NUMBER})
 | 
			
		||||
			SET(_LOG_NAME "\"${FEATURE_NAME}\" (N${FEATURE_NUMBER})")
 | 
			
		||||
		ELSE (${FEATURE_NUMBER})
 | 
			
		||||
			SET(_SRCFILE_BASE ${CMAKE_CURRENT_LIST_DIR}/c++11-test-${FEATURE_NAME})
 | 
			
		||||
			SET(_LOG_NAME "\"${FEATURE_NAME}\"")
 | 
			
		||||
		ENDIF (${FEATURE_NUMBER})
 | 
			
		||||
		MESSAGE(STATUS "Checking C++11 support for ${_LOG_NAME}")
 | 
			
		||||
 | 
			
		||||
		SET(_SRCFILE "${_SRCFILE_BASE}.cpp")
 | 
			
		||||
		SET(_SRCFILE_FAIL "${_SRCFILE_BASE}_fail.cpp")
 | 
			
		||||
		SET(_SRCFILE_FAIL_COMPILE "${_SRCFILE_BASE}_fail_compile.cpp")
 | 
			
		||||
 | 
			
		||||
		IF (CROSS_COMPILING)
 | 
			
		||||
			try_compile(${RESULT_VAR} "${_bindir}" "${_SRCFILE}")
 | 
			
		||||
			IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
 | 
			
		||||
				try_compile(${RESULT_VAR} "${_bindir}_fail" "${_SRCFILE_FAIL}")
 | 
			
		||||
			ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
 | 
			
		||||
		ELSE (CROSS_COMPILING)
 | 
			
		||||
			try_run(_RUN_RESULT_VAR _COMPILE_RESULT_VAR
 | 
			
		||||
					"${_bindir}" "${_SRCFILE}")
 | 
			
		||||
			IF (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
 | 
			
		||||
				SET(${RESULT_VAR} TRUE)
 | 
			
		||||
			ELSE (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
 | 
			
		||||
				SET(${RESULT_VAR} FALSE)
 | 
			
		||||
			ENDIF (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
 | 
			
		||||
			IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
 | 
			
		||||
				try_run(_RUN_RESULT_VAR _COMPILE_RESULT_VAR
 | 
			
		||||
						"${_bindir}_fail" "${_SRCFILE_FAIL}")
 | 
			
		||||
				IF (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
 | 
			
		||||
					SET(${RESULT_VAR} TRUE)
 | 
			
		||||
				ELSE (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
 | 
			
		||||
					SET(${RESULT_VAR} FALSE)
 | 
			
		||||
				ENDIF (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
 | 
			
		||||
			ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
 | 
			
		||||
		ENDIF (CROSS_COMPILING)
 | 
			
		||||
		IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL_COMPILE})
 | 
			
		||||
			try_compile(_TMP_RESULT "${_bindir}_fail_compile" "${_SRCFILE_FAIL_COMPILE}")
 | 
			
		||||
			IF (_TMP_RESULT)
 | 
			
		||||
				SET(${RESULT_VAR} FALSE)
 | 
			
		||||
			ELSE (_TMP_RESULT)
 | 
			
		||||
				SET(${RESULT_VAR} TRUE)
 | 
			
		||||
			ENDIF (_TMP_RESULT)
 | 
			
		||||
		ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL_COMPILE})
 | 
			
		||||
 | 
			
		||||
		IF (${RESULT_VAR})
 | 
			
		||||
			MESSAGE(STATUS "Checking C++11 support for ${_LOG_NAME} -- works")
 | 
			
		||||
			LIST(APPEND CXX11_FEATURE_LIST ${RESULT_VAR})
 | 
			
		||||
		ELSE (${RESULT_VAR})
 | 
			
		||||
			MESSAGE(STATUS "Checking C++11 support for ${_LOG_NAME} -- not supported")
 | 
			
		||||
		ENDIF (${RESULT_VAR})
 | 
			
		||||
		SET(${RESULT_VAR} ${${RESULT_VAR}} CACHE INTERNAL "C++11 support for ${_LOG_NAME}")
 | 
			
		||||
	ENDIF (NOT DEFINED ${RESULT_VAR})
 | 
			
		||||
ENDMACRO(CXX11_CHECK_FEATURE)
 | 
			
		||||
 | 
			
		||||
CXX11_CHECK_FEATURE("auto"               2546 HAS_CXX11_AUTO)
 | 
			
		||||
CXX11_CHECK_FEATURE("nullptr"            2431 HAS_CXX11_NULLPTR)
 | 
			
		||||
CXX11_CHECK_FEATURE("lambda"             2927 HAS_CXX11_LAMBDA)
 | 
			
		||||
CXX11_CHECK_FEATURE("static_assert"      1720 HAS_CXX11_STATIC_ASSERT)
 | 
			
		||||
CXX11_CHECK_FEATURE("rvalue_references"  2118 HAS_CXX11_RVALUE_REFERENCES)
 | 
			
		||||
CXX11_CHECK_FEATURE("decltype"           2343 HAS_CXX11_DECLTYPE)
 | 
			
		||||
CXX11_CHECK_FEATURE("cstdint"            ""   HAS_CXX11_CSTDINT_H)
 | 
			
		||||
CXX11_CHECK_FEATURE("long_long"          1811 HAS_CXX11_LONG_LONG)
 | 
			
		||||
CXX11_CHECK_FEATURE("variadic_templates" 2555 HAS_CXX11_VARIADIC_TEMPLATES)
 | 
			
		||||
CXX11_CHECK_FEATURE("constexpr"          2235 HAS_CXX11_CONSTEXPR)
 | 
			
		||||
CXX11_CHECK_FEATURE("sizeof_member"      2253 HAS_CXX11_SIZEOF_MEMBER)
 | 
			
		||||
CXX11_CHECK_FEATURE("__func__"           2340 HAS_CXX11_FUNC)
 | 
			
		||||
 | 
			
		||||
SET(CXX11_FEATURE_LIST ${CXX11_FEATURE_LIST} CACHE STRING "C++11 feature support list")
 | 
			
		||||
MARK_AS_ADVANCED(FORCE CXX11_FEATURE_LIST)
 | 
			
		||||
 | 
			
		||||
SET(CMAKE_CXX_FLAGS ${CHECK_CXX11_OLD_CMAKE_CXX_FLAGS})
 | 
			
		||||
UNSET(CHECK_CXX11_OLD_CMAKE_CXX_FLAGS)
 | 
			
		||||
 | 
			
		||||
# Checks for C++11 features
 | 
			
		||||
#  CXX11_FEATURE_LIST - a list containing all supported features
 | 
			
		||||
#  HAS_CXX11_AUTO               - auto keyword
 | 
			
		||||
#  HAS_CXX11_NULLPTR            - nullptr
 | 
			
		||||
#  HAS_CXX11_LAMBDA             - lambdas
 | 
			
		||||
#  HAS_CXX11_STATIC_ASSERT      - static_assert()
 | 
			
		||||
#  HAS_CXX11_RVALUE_REFERENCES  - rvalue references
 | 
			
		||||
#  HAS_CXX11_DECLTYPE           - decltype keyword
 | 
			
		||||
#  HAS_CXX11_CSTDINT_H          - cstdint header
 | 
			
		||||
#  HAS_CXX11_LONG_LONG          - long long signed & unsigned types
 | 
			
		||||
#  HAS_CXX11_VARIADIC_TEMPLATES - variadic templates
 | 
			
		||||
#  HAS_CXX11_CONSTEXPR          - constexpr keyword
 | 
			
		||||
#  HAS_CXX11_SIZEOF_MEMBER      - sizeof() non-static members
 | 
			
		||||
#  HAS_CXX11_FUNC               - __func__ preprocessor constant
 | 
			
		||||
#
 | 
			
		||||
# Original script by Rolf Eike Beer
 | 
			
		||||
# Modifications by Andreas Weis
 | 
			
		||||
#
 | 
			
		||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3)
 | 
			
		||||
 | 
			
		||||
SET(CHECK_CXX11_OLD_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
 | 
			
		||||
IF(CMAKE_COMPILER_IS_GNUCXX)
 | 
			
		||||
	SET(CMAKE_CXX_FLAGS "-std=c++0x")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
MACRO(CXX11_CHECK_FEATURE FEATURE_NAME FEATURE_NUMBER RESULT_VAR)
 | 
			
		||||
	IF (NOT DEFINED ${RESULT_VAR})
 | 
			
		||||
		SET(_bindir "${CMAKE_CURRENT_BINARY_DIR}/cxx11/cxx11_${FEATURE_NAME}")
 | 
			
		||||
 | 
			
		||||
		IF (${FEATURE_NUMBER})
 | 
			
		||||
			SET(_SRCFILE_BASE ${CMAKE_CURRENT_LIST_DIR}/c++11-test-${FEATURE_NAME}-N${FEATURE_NUMBER})
 | 
			
		||||
			SET(_LOG_NAME "\"${FEATURE_NAME}\" (N${FEATURE_NUMBER})")
 | 
			
		||||
		ELSE (${FEATURE_NUMBER})
 | 
			
		||||
			SET(_SRCFILE_BASE ${CMAKE_CURRENT_LIST_DIR}/c++11-test-${FEATURE_NAME})
 | 
			
		||||
			SET(_LOG_NAME "\"${FEATURE_NAME}\"")
 | 
			
		||||
		ENDIF (${FEATURE_NUMBER})
 | 
			
		||||
		MESSAGE(STATUS "Checking C++11 support for ${_LOG_NAME}")
 | 
			
		||||
 | 
			
		||||
		SET(_SRCFILE "${_SRCFILE_BASE}.cpp")
 | 
			
		||||
		SET(_SRCFILE_FAIL "${_SRCFILE_BASE}_fail.cpp")
 | 
			
		||||
		SET(_SRCFILE_FAIL_COMPILE "${_SRCFILE_BASE}_fail_compile.cpp")
 | 
			
		||||
 | 
			
		||||
		IF (CROSS_COMPILING)
 | 
			
		||||
			try_compile(${RESULT_VAR} "${_bindir}" "${_SRCFILE}")
 | 
			
		||||
			IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
 | 
			
		||||
				try_compile(${RESULT_VAR} "${_bindir}_fail" "${_SRCFILE_FAIL}")
 | 
			
		||||
			ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
 | 
			
		||||
		ELSE (CROSS_COMPILING)
 | 
			
		||||
			try_run(_RUN_RESULT_VAR _COMPILE_RESULT_VAR
 | 
			
		||||
					"${_bindir}" "${_SRCFILE}")
 | 
			
		||||
			IF (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
 | 
			
		||||
				SET(${RESULT_VAR} TRUE)
 | 
			
		||||
			ELSE (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
 | 
			
		||||
				SET(${RESULT_VAR} FALSE)
 | 
			
		||||
			ENDIF (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
 | 
			
		||||
			IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
 | 
			
		||||
				try_run(_RUN_RESULT_VAR _COMPILE_RESULT_VAR
 | 
			
		||||
						"${_bindir}_fail" "${_SRCFILE_FAIL}")
 | 
			
		||||
				IF (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
 | 
			
		||||
					SET(${RESULT_VAR} TRUE)
 | 
			
		||||
				ELSE (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
 | 
			
		||||
					SET(${RESULT_VAR} FALSE)
 | 
			
		||||
				ENDIF (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
 | 
			
		||||
			ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
 | 
			
		||||
		ENDIF (CROSS_COMPILING)
 | 
			
		||||
		IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL_COMPILE})
 | 
			
		||||
			try_compile(_TMP_RESULT "${_bindir}_fail_compile" "${_SRCFILE_FAIL_COMPILE}")
 | 
			
		||||
			IF (_TMP_RESULT)
 | 
			
		||||
				SET(${RESULT_VAR} FALSE)
 | 
			
		||||
			ELSE (_TMP_RESULT)
 | 
			
		||||
				SET(${RESULT_VAR} TRUE)
 | 
			
		||||
			ENDIF (_TMP_RESULT)
 | 
			
		||||
		ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL_COMPILE})
 | 
			
		||||
 | 
			
		||||
		IF (${RESULT_VAR})
 | 
			
		||||
			MESSAGE(STATUS "Checking C++11 support for ${_LOG_NAME} -- works")
 | 
			
		||||
			LIST(APPEND CXX11_FEATURE_LIST ${RESULT_VAR})
 | 
			
		||||
		ELSE (${RESULT_VAR})
 | 
			
		||||
			MESSAGE(STATUS "Checking C++11 support for ${_LOG_NAME} -- not supported")
 | 
			
		||||
		ENDIF (${RESULT_VAR})
 | 
			
		||||
		SET(${RESULT_VAR} ${${RESULT_VAR}} CACHE INTERNAL "C++11 support for ${_LOG_NAME}")
 | 
			
		||||
	ENDIF (NOT DEFINED ${RESULT_VAR})
 | 
			
		||||
ENDMACRO(CXX11_CHECK_FEATURE)
 | 
			
		||||
 | 
			
		||||
CXX11_CHECK_FEATURE("auto"               2546 HAS_CXX11_AUTO)
 | 
			
		||||
CXX11_CHECK_FEATURE("nullptr"            2431 HAS_CXX11_NULLPTR)
 | 
			
		||||
CXX11_CHECK_FEATURE("lambda"             2927 HAS_CXX11_LAMBDA)
 | 
			
		||||
CXX11_CHECK_FEATURE("static_assert"      1720 HAS_CXX11_STATIC_ASSERT)
 | 
			
		||||
CXX11_CHECK_FEATURE("rvalue_references"  2118 HAS_CXX11_RVALUE_REFERENCES)
 | 
			
		||||
CXX11_CHECK_FEATURE("decltype"           2343 HAS_CXX11_DECLTYPE)
 | 
			
		||||
CXX11_CHECK_FEATURE("cstdint"            ""   HAS_CXX11_CSTDINT_H)
 | 
			
		||||
CXX11_CHECK_FEATURE("long_long"          1811 HAS_CXX11_LONG_LONG)
 | 
			
		||||
CXX11_CHECK_FEATURE("variadic_templates" 2555 HAS_CXX11_VARIADIC_TEMPLATES)
 | 
			
		||||
CXX11_CHECK_FEATURE("constexpr"          2235 HAS_CXX11_CONSTEXPR)
 | 
			
		||||
CXX11_CHECK_FEATURE("sizeof_member"      2253 HAS_CXX11_SIZEOF_MEMBER)
 | 
			
		||||
CXX11_CHECK_FEATURE("__func__"           2340 HAS_CXX11_FUNC)
 | 
			
		||||
 | 
			
		||||
SET(CXX11_FEATURE_LIST ${CXX11_FEATURE_LIST} CACHE STRING "C++11 feature support list")
 | 
			
		||||
MARK_AS_ADVANCED(FORCE CXX11_FEATURE_LIST)
 | 
			
		||||
 | 
			
		||||
SET(CMAKE_CXX_FLAGS ${CHECK_CXX11_OLD_CMAKE_CXX_FLAGS})
 | 
			
		||||
UNSET(CHECK_CXX11_OLD_CMAKE_CXX_FLAGS)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
#include <cstring>
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	if (!__func__) { return 1; }
 | 
			
		||||
	if(std::strlen(__func__) <= 0) { return 1; }
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
#include <cstring>
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	if (!__func__) { return 1; }
 | 
			
		||||
	if(std::strlen(__func__) <= 0) { return 1; }
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,12 @@
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	auto i = 5;
 | 
			
		||||
	auto f = 3.14159f;
 | 
			
		||||
	auto d = 3.14159;
 | 
			
		||||
	bool ret = (
 | 
			
		||||
		(sizeof(f) < sizeof(d)) &&
 | 
			
		||||
		(sizeof(i) == sizeof(int))
 | 
			
		||||
	);
 | 
			
		||||
	return ret ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	auto i = 5;
 | 
			
		||||
	auto f = 3.14159f;
 | 
			
		||||
	auto d = 3.14159;
 | 
			
		||||
	bool ret = (
 | 
			
		||||
		(sizeof(f) < sizeof(d)) &&
 | 
			
		||||
		(sizeof(i) == sizeof(int))
 | 
			
		||||
	);
 | 
			
		||||
	return ret ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,19 +1,19 @@
 | 
			
		||||
constexpr int square(int x)
 | 
			
		||||
{
 | 
			
		||||
	return x*x;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
constexpr int the_answer()
 | 
			
		||||
{
 | 
			
		||||
	return 42;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	int test_arr[square(3)];
 | 
			
		||||
	bool ret = (
 | 
			
		||||
		(square(the_answer()) == 1764) &&
 | 
			
		||||
		(sizeof(test_arr)/sizeof(test_arr[0]) == 9)
 | 
			
		||||
	);
 | 
			
		||||
	return ret ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
constexpr int square(int x)
 | 
			
		||||
{
 | 
			
		||||
	return x*x;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
constexpr int the_answer()
 | 
			
		||||
{
 | 
			
		||||
	return 42;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	int test_arr[square(3)];
 | 
			
		||||
	bool ret = (
 | 
			
		||||
		(square(the_answer()) == 1764) &&
 | 
			
		||||
		(sizeof(test_arr)/sizeof(test_arr[0]) == 9)
 | 
			
		||||
	);
 | 
			
		||||
	return ret ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
#include <cstdint>
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	bool test = 
 | 
			
		||||
		(sizeof(int8_t) == 1) &&
 | 
			
		||||
		(sizeof(int16_t) == 2) &&
 | 
			
		||||
		(sizeof(int32_t) == 4) &&
 | 
			
		||||
		(sizeof(int64_t) == 8);
 | 
			
		||||
	return test ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
#include <cstdint>
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	bool test = 
 | 
			
		||||
		(sizeof(int8_t) == 1) &&
 | 
			
		||||
		(sizeof(int16_t) == 2) &&
 | 
			
		||||
		(sizeof(int32_t) == 4) &&
 | 
			
		||||
		(sizeof(int64_t) == 8);
 | 
			
		||||
	return test ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,11 @@
 | 
			
		||||
 | 
			
		||||
bool check_size(int i)
 | 
			
		||||
{
 | 
			
		||||
	return sizeof(int) == sizeof(decltype(i));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	bool ret = check_size(42);
 | 
			
		||||
	return ret ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool check_size(int i)
 | 
			
		||||
{
 | 
			
		||||
	return sizeof(int) == sizeof(decltype(i));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	bool ret = check_size(42);
 | 
			
		||||
	return ret ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	int ret = 0;
 | 
			
		||||
	return ([&ret]() -> int { return ret; })();
 | 
			
		||||
}
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	int ret = 0;
 | 
			
		||||
	return ([&ret]() -> int { return ret; })();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
int main(void)
 | 
			
		||||
{
 | 
			
		||||
	long long l;
 | 
			
		||||
	unsigned long long ul;
 | 
			
		||||
 | 
			
		||||
	return ((sizeof(l) >= 8) && (sizeof(ul) >= 8)) ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
int main(void)
 | 
			
		||||
{
 | 
			
		||||
	long long l;
 | 
			
		||||
	unsigned long long ul;
 | 
			
		||||
 | 
			
		||||
	return ((sizeof(l) >= 8) && (sizeof(ul) >= 8)) ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	int* test = nullptr;
 | 
			
		||||
	return test ? 1 : 0;
 | 
			
		||||
}
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	int* test = nullptr;
 | 
			
		||||
	return test ? 1 : 0;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	int i = nullptr;
 | 
			
		||||
	return 1;
 | 
			
		||||
}
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	int i = nullptr;
 | 
			
		||||
	return 1;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,15 +1,15 @@
 | 
			
		||||
int foo(int& lvalue)
 | 
			
		||||
{
 | 
			
		||||
	return 123;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int foo(int&& rvalue)
 | 
			
		||||
{
 | 
			
		||||
	return 321;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	int i = 42;
 | 
			
		||||
	return ((foo(i) == 123) && (foo(42) == 321)) ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
int foo(int& lvalue)
 | 
			
		||||
{
 | 
			
		||||
	return 123;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int foo(int&& rvalue)
 | 
			
		||||
{
 | 
			
		||||
	return 321;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	int i = 42;
 | 
			
		||||
	return ((foo(i) == 123) && (foo(42) == 321)) ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,14 @@
 | 
			
		||||
struct foo {
 | 
			
		||||
	char bar;
 | 
			
		||||
	int baz;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
int main(void)
 | 
			
		||||
{
 | 
			
		||||
	bool ret = (
 | 
			
		||||
		(sizeof(foo::bar) == 1) &&
 | 
			
		||||
		(sizeof(foo::baz) >= sizeof(foo::bar)) &&
 | 
			
		||||
		(sizeof(foo) >= sizeof(foo::bar)+sizeof(foo::baz))
 | 
			
		||||
	);
 | 
			
		||||
	return ret ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
struct foo {
 | 
			
		||||
	char bar;
 | 
			
		||||
	int baz;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
int main(void)
 | 
			
		||||
{
 | 
			
		||||
	bool ret = (
 | 
			
		||||
		(sizeof(foo::bar) == 1) &&
 | 
			
		||||
		(sizeof(foo::baz) >= sizeof(foo::bar)) &&
 | 
			
		||||
		(sizeof(foo) >= sizeof(foo::bar)+sizeof(foo::baz))
 | 
			
		||||
	);
 | 
			
		||||
	return ret ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	static_assert(0 < 1, "your ordering of integers is screwed");
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	static_assert(0 < 1, "your ordering of integers is screwed");
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	static_assert(1 < 0, "this should fail");
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	static_assert(1 < 0, "this should fail");
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,23 +1,23 @@
 | 
			
		||||
int Accumulate()
 | 
			
		||||
{
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
template<typename T, typename... Ts>
 | 
			
		||||
int Accumulate(T v, Ts... vs)
 | 
			
		||||
{
 | 
			
		||||
	return v + Accumulate(vs...);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
template<int... Is>
 | 
			
		||||
int CountElements()
 | 
			
		||||
{
 | 
			
		||||
	return sizeof...(Is);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	int acc = Accumulate(1, 2, 3, 4, -5);
 | 
			
		||||
	int count = CountElements<1,2,3,4,5>();
 | 
			
		||||
	return ((acc == 5) && (count == 5)) ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
int Accumulate()
 | 
			
		||||
{
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
template<typename T, typename... Ts>
 | 
			
		||||
int Accumulate(T v, Ts... vs)
 | 
			
		||||
{
 | 
			
		||||
	return v + Accumulate(vs...);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
template<int... Is>
 | 
			
		||||
int CountElements()
 | 
			
		||||
{
 | 
			
		||||
	return sizeof...(Is);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	int acc = Accumulate(1, 2, 3, 4, -5);
 | 
			
		||||
	int count = CountElements<1,2,3,4,5>();
 | 
			
		||||
	return ((acc == 5) && (count == 5)) ? 0 : 1;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user