diff --git a/CMakeLists.txt b/CMakeLists.txt index 348e0a4cf..ebfe8ec8f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -338,7 +338,7 @@ if (EIGEN_BUILD_TESTING) check_cxx_compiler_flag("-std=c++11" EIGEN_COMPILER_SUPPORT_CPP11) - option(EIGEN_TEST_CXX11 "Enable testing with C++11 and C++11 features (e.g. Tensor module)." EIGEN_COMPILER_SUPPORT_CPP11) + option(EIGEN_TEST_CXX11 "Enable testing with C++11 and C++11 features (e.g. Tensor module)." ${EIGEN_COMPILER_SUPPORT_CPP11}) if(EIGEN_TEST_CXX11) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_EXTENSIONS OFF) diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index b7635f985..de1a6380f 100755 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -170,10 +170,8 @@ template<> struct is_integral { enum { value = true }; } template<> struct is_integral { enum { value = true }; }; template<> struct is_integral { enum { value = true }; }; template<> struct is_integral { enum { value = true }; }; -#if EIGEN_COMP_MSVC -template<> struct is_integral { enum { value = true }; }; -template<> struct is_integral { enum { value = true }; }; -#endif +template<> struct is_integral { enum { value = true }; }; +template<> struct is_integral { enum { value = true }; }; #endif #if EIGEN_HAS_CXX11 diff --git a/ci/build.linux.gitlab-ci.yml b/ci/build.linux.gitlab-ci.yml index abbf138ee..a5916f0eb 100644 --- a/ci/build.linux.gitlab-ci.yml +++ b/ci/build.linux.gitlab-ci.yml @@ -48,6 +48,11 @@ build:linux:cross:x86-64:gcc-10:default: EIGEN_CI_CROSS_C_COMPILER: x86_64-linux-gnu-gcc-10 EIGEN_CI_CROSS_CXX_COMPILER: x86_64-linux-gnu-g++-10 +build:linux:cross:x86-64:gcc-10:cxx03: + extends: build:linux:cross:x86-64:gcc-10:default + variables: + EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_CXX11=off" + build:linux:cross:x86-64:gcc-10:avx: extends: build:linux:cross:x86-64:gcc-10:default variables: diff --git a/ci/build.windows.gitlab-ci.yml b/ci/build.windows.gitlab-ci.yml index 2fc21beab..478b8a566 100644 --- a/ci/build.windows.gitlab-ci.yml +++ b/ci/build.windows.gitlab-ci.yml @@ -16,6 +16,7 @@ rules: - if: $CI_PIPELINE_SOURCE == "schedule" && $CI_PROJECT_NAMESPACE == "libeigen" - if: $CI_PIPELINE_SOURCE == "web" && $CI_PROJECT_NAMESPACE == "libeigen" + - if: $CI_PIPELINE_SOURCE == "push" && $CI_PROJECT_NAMESPACE == "libeigen" cache: key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG-BUILD" paths: @@ -37,6 +38,11 @@ build:windows:x86-64:msvc-14.29:default: variables: EIGEN_CI_MSVC_VER: "14.29" +build:windows:x86-64:msvc-14.29:cxx03: + extends: build:windows:x86-64:msvc-14.29:default + variables: + EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_CXX11=off" + build:windows:x86-64:msvc-14.29:avx2: extends: build:windows:x86-64:msvc-14.29:default variables: diff --git a/ci/test.linux.gitlab-ci.yml b/ci/test.linux.gitlab-ci.yml index fa9e8a261..754745bf6 100644 --- a/ci/test.linux.gitlab-ci.yml +++ b/ci/test.linux.gitlab-ci.yml @@ -46,6 +46,10 @@ test:linux:x86-64:gcc-6:default:unsupported: variables: EIGEN_CI_INSTALL: g++-10 +test:linux:x86-64:gcc-10:cxx03: + extends: .test:linux:x86-64:gcc-10:default + needs: [ build:linux:cross:x86-64:gcc-10:cxx03 ] + test:linux:x86-64:gcc-10:default:official: extends: .test:linux:x86-64:gcc-10:default variables: diff --git a/ci/test.windows.gitlab-ci.yml b/ci/test.windows.gitlab-ci.yml index 75bd6af4e..45b88c6c3 100644 --- a/ci/test.windows.gitlab-ci.yml +++ b/ci/test.windows.gitlab-ci.yml @@ -6,8 +6,9 @@ after_script: - ./ci/scripts/test.windows.after_script.ps1 rules: - - if: $CI_PIPELINE_SOURCE == "schedule" - - if: $CI_PIPELINE_SOURCE == "web" + - if: $CI_PIPELINE_SOURCE == "schedule" && $CI_PROJECT_NAMESPACE == "libeigen" + - if: $CI_PIPELINE_SOURCE == "web" && $CI_PROJECT_NAMESPACE == "libeigen" + - if: $CI_PIPELINE_SOURCE == "push" && $CI_PROJECT_NAMESPACE == "libeigen" tags: - eigen-runner - windows @@ -35,6 +36,10 @@ test:windows:x86-64:msvc-14.16:default:unsupported: extends: .test:windows needs: [ build:windows:x86-64:msvc-14.29:default ] +test:windows:x86-64:msvc-14.29:default:official: + extends: .test:windows:x86-64:msvc-14.29:default + needs: [ build:windows:x86-64:msvc-14.29:cxx03 ] + test:windows:x86-64:msvc-14.29:default:official: extends: .test:windows:x86-64:msvc-14.29:default variables: diff --git a/doc/special_examples/CMakeLists.txt b/doc/special_examples/CMakeLists.txt index f68ab5201..a0267a512 100644 --- a/doc/special_examples/CMakeLists.txt +++ b/doc/special_examples/CMakeLists.txt @@ -21,7 +21,7 @@ endif() if(EIGEN_COMPILER_SUPPORT_CPP11) add_executable(random_cpp11 random_cpp11.cpp) - target_link_libraries(random_cpp11 ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO}) + target_link_libraries(random_cpp11 ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO} Eigen3::Eigen) add_dependencies(all_examples random_cpp11) target_compile_options(random_cpp11 PRIVATE "-std=c++11")