Skip to content

Compile Errors with ICC #1748

Closed
Closed
@acidtonic

Description

Cannot compile Catch2 with Intel ICC. Compile errors below. I am able to use the single header in my project but I cannot compile the SelfTests.

I'm trying to open a bug report from a different project that crashes the compiler, but that project's Unit Tests require Catch2 and it can't compile in their codebase in order for me to point Intel at a reproducible bug. Appreciate any help.

icc version 19.0.4.243 (gcc version 8.3.0 compatibility)
icpc version 19.0.4.243 (gcc version 8.3.0 compatibility)
4.14.61-gentoo x86_64 Intel(R) Core(TM) i7-8700K
Glibc 2.29

Scanning dependencies of target SelfTest
[  0%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/TestMain.cpp.o
[  1%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/IntrospectiveTests/CmdLine.tests.cpp.o
[  2%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/IntrospectiveTests/Details.tests.cpp.o
[  3%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/IntrospectiveTests/GeneratorsImpl.tests.cpp.o
[  4%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/IntrospectiveTests/InternalBenchmark.tests.cpp.o
[  5%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/IntrospectiveTests/PartTracker.tests.cpp.o
[  6%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/IntrospectiveTests/Tag.tests.cpp.o
[  7%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/IntrospectiveTests/String.tests.cpp.o
[  7%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/IntrospectiveTests/StringManip.tests.cpp.o
[  8%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/IntrospectiveTests/Xml.tests.cpp.o
[  9%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/IntrospectiveTests/ToString.tests.cpp.o
[ 10%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/UsageTests/Approx.tests.cpp.o
[ 11%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/UsageTests/BDD.tests.cpp.o
[ 12%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/UsageTests/Benchmark.tests.cpp.o
[ 13%] Building CXX object projects/CMakeFiles/SelfTest.dir/SelfTest/UsageTests/Class.tests.cpp.o
/home/arkk/code/Catch2/projects/SelfTest/UsageTests/Class.tests.cpp(96): error: no instance of overloaded function "<unnamed>::ClassTests::<unnamed>::ns_____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____13::create" matches the argument list
            argument types are: (<unnamed>::ClassTests::<unnamed>::ns_____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____13::TypeList<<unnamed>::ClassTests::<unnamed>::ns_____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____13::Nttp<int, 2UL>, <unnamed>::ClassTests::<unnamed>::ns_____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____13::Nttp<float, 6UL>>)
  TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG(Template_Fixture_2, "A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that succeeds", "[class][template][product][nttp]", ((typename T, size_t S), T, S),(std::array, Template_Foo_2), ((int,2), (float,6)))
  ^
/home/arkk/code/Catch2/projects/SelfTest/UsageTests/Class.tests.cpp(96): note: this candidate was rejected because there is a type mismatch after argument substitution
  TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG(Template_Fixture_2, "A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that succeeds", "[class][template][product][nttp]", ((typename T, size_t S), T, S),(std::array, Template_Foo_2), ((int,2), (float,6)))
  ^
/home/arkk/code/Catch2/projects/SelfTest/UsageTests/Class.tests.cpp(96): note: this candidate was rejected because there is a type mismatch after argument substitution
  TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG(Template_Fixture_2, "A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that succeeds", "[class][template][product][nttp]", ((typename T, size_t S), T, S),(std::array, Template_Foo_2), ((int,2), (float,6)))
  ^

/home/arkk/code/Catch2/projects/SelfTest/UsageTests/Class.tests.cpp(129): error: no instance of overloaded function "<unnamed>::ClassTests::Inner::<unnamed>::ns_____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____30::create" matches the argument list
            argument types are: (<unnamed>::ClassTests::Inner::<unnamed>::ns_____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____30::TypeList<<unnamed>::ClassTests::Inner::<unnamed>::ns_____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____30::Nttp<int, 2UL>, <unnamed>::ClassTests::Inner::<unnamed>::ns_____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____30::Nttp<float, 6UL>>)
      TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG(Template_Fixture_2, "A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that fails", "[.][class][template][product][nttp][failing]", ((typename T, size_t S), T, S), (std::array, Template_Foo_2), ((int, 2), (float, 6)))
      ^
/home/arkk/code/Catch2/projects/SelfTest/UsageTests/Class.tests.cpp(129): note: this candidate was rejected because there is a type mismatch after argument substitution
      TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG(Template_Fixture_2, "A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that fails", "[.][class][template][product][nttp][failing]", ((typename T, size_t S), T, S), (std::array, Template_Foo_2), ((int, 2), (float, 6)))
      ^
/home/arkk/code/Catch2/projects/SelfTest/UsageTests/Class.tests.cpp(129): note: this candidate was rejected because there is a type mismatch after argument substitution
      TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG(Template_Fixture_2, "A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that fails", "[.][class][template][product][nttp][failing]", ((typename T, size_t S), T, S), (std::array, Template_Foo_2), ((int, 2), (float, 6)))
      ^

compilation aborted for /home/arkk/code/Catch2/projects/SelfTest/UsageTests/Class.tests.cpp (code 2)
make[2]: *** [projects/CMakeFiles/SelfTest.dir/build.make:245: projects/CMakeFiles/SelfTest.dir/SelfTest/UsageTests/Class.tests.cpp.o] Error 2
make[1]: *** [CMakeFiles/Makefile2:987: projects/CMakeFiles/SelfTest.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions