Skip to content

make libintx.md.test fails on C++ template errors #3

@jeffhammond

Description

@jeffhammond

I am using GCC 11.4 - is that not good enough?

jhammond@nuclear:~/Chemistry/libintx/build$ make
Consolidate compiler generated dependencies of target libintx.boys
[100%] Built target libintx.boys
jhammond@nuclear:~/Chemistry/libintx/build$ make libintx.md.test
[ 50%] Built target libboys
Consolidate compiler generated dependencies of target libintx.md.test
[ 75%] Building CXX object tests/CMakeFiles/libintx.md.test.dir/libintx.md.test.cc.o
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:9:2: warning: #warning Libint2 disabled, using Rys Quadrature as reference [-Wcpp]
    9 | #warning Libint2 disabled, using Rys Quadrature as reference
      |  ^~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc: In function ‘void _DOCTEST_ANON_FUNC_8()’:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:37:9: error: reference to ‘reference’ is ambiguous
   37 |   CHECK(reference::E(0,0,0,a,b,R[0]) == Approx(E(0,0,0,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:37:3: note: in expansion of macro ‘CHECK’
   37 |   CHECK(reference::E(0,0,0,a,b,R[0]) == Approx(E(0,0,0,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:38:9: error: reference to ‘reference’ is ambiguous
   38 |   CHECK(reference::E(1,0,0,a,b,R[0]) == Approx(E(1,0,0,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:38:3: note: in expansion of macro ‘CHECK’
   38 |   CHECK(reference::E(1,0,0,a,b,R[0]) == Approx(E(1,0,0,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:39:9: error: reference to ‘reference’ is ambiguous
   39 |   CHECK(reference::E(1,0,1,a,b,R[0]) == Approx(E(1,0,1,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:39:3: note: in expansion of macro ‘CHECK’
   39 |   CHECK(reference::E(1,0,1,a,b,R[0]) == Approx(E(1,0,1,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:40:9: error: reference to ‘reference’ is ambiguous
   40 |   CHECK(reference::E(2,0,0,a,b,R[0]) == Approx(E(2,0,0,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:40:3: note: in expansion of macro ‘CHECK’
   40 |   CHECK(reference::E(2,0,0,a,b,R[0]) == Approx(E(2,0,0,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:41:9: error: reference to ‘reference’ is ambiguous
   41 |   CHECK(reference::E(2,0,1,a,b,R[0]) == Approx(E(2,0,1,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:41:3: note: in expansion of macro ‘CHECK’
   41 |   CHECK(reference::E(2,0,1,a,b,R[0]) == Approx(E(2,0,1,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:42:9: error: reference to ‘reference’ is ambiguous
   42 |   CHECK(reference::E(2,0,2,a,b,R[0]) == Approx(E(2,0,2,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:42:3: note: in expansion of macro ‘CHECK’
   42 |   CHECK(reference::E(2,0,2,a,b,R[0]) == Approx(E(2,0,2,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:43:9: error: reference to ‘reference’ is ambiguous
   43 |   CHECK(reference::E(3,0,0,a,b,R[0]) == Approx(E(3,0,0,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:43:3: note: in expansion of macro ‘CHECK’
   43 |   CHECK(reference::E(3,0,0,a,b,R[0]) == Approx(E(3,0,0,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:44:9: error: reference to ‘reference’ is ambiguous
   44 |   CHECK(reference::E(3,0,1,a,b,R[0]) == Approx(E(3,0,1,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:44:3: note: in expansion of macro ‘CHECK’
   44 |   CHECK(reference::E(3,0,1,a,b,R[0]) == Approx(E(3,0,1,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:45:9: error: reference to ‘reference’ is ambiguous
   45 |   CHECK(reference::E(3,0,2,a,b,R[0]) == Approx(E(3,0,2,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:45:3: note: in expansion of macro ‘CHECK’
   45 |   CHECK(reference::E(3,0,2,a,b,R[0]) == Approx(E(3,0,2,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:46:9: error: reference to ‘reference’ is ambiguous
   46 |   CHECK(reference::E(3,0,3,a,b,R[0]) == Approx(E(3,0,3,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:46:3: note: in expansion of macro ‘CHECK’
   46 |   CHECK(reference::E(3,0,3,a,b,R[0]) == Approx(E(3,0,3,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:48:9: error: reference to ‘reference’ is ambiguous
   48 |   CHECK(reference::E(0,1,0,a,b,R[0]) == Approx(E(0,1,0,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:48:3: note: in expansion of macro ‘CHECK’
   48 |   CHECK(reference::E(0,1,0,a,b,R[0]) == Approx(E(0,1,0,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:49:9: error: reference to ‘reference’ is ambiguous
   49 |   CHECK(reference::E(0,1,1,a,b,R[0]) == Approx(E(0,1,1,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:49:3: note: in expansion of macro ‘CHECK’
   49 |   CHECK(reference::E(0,1,1,a,b,R[0]) == Approx(E(0,1,1,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:50:9: error: reference to ‘reference’ is ambiguous
   50 |   CHECK(reference::E(0,2,0,a,b,R[0]) == Approx(E(0,2,0,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:50:3: note: in expansion of macro ‘CHECK’
   50 |   CHECK(reference::E(0,2,0,a,b,R[0]) == Approx(E(0,2,0,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:51:9: error: reference to ‘reference’ is ambiguous
   51 |   CHECK(reference::E(0,2,1,a,b,R[0]) == Approx(E(0,2,1,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:51:3: note: in expansion of macro ‘CHECK’
   51 |   CHECK(reference::E(0,2,1,a,b,R[0]) == Approx(E(0,2,1,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:52:9: error: reference to ‘reference’ is ambiguous
   52 |   CHECK(reference::E(0,2,2,a,b,R[0]) == Approx(E(0,2,2,0)));
      |         ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:52:3: note: in expansion of macro ‘CHECK’
   52 |   CHECK(reference::E(0,2,2,a,b,R[0]) == Approx(E(0,2,2,0)));
      |   ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:14,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:60:15: error: reference to ‘reference’ is ambiguous
   60 |         CHECK(reference::E(i,j,k,a,b,R[0]) == Approx(E(i,j,k,0)));
      |               ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                         \
      |         ^
/home/jhammond/Chemistry/libintx/tests/doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:60:9: note: in expansion of macro ‘CHECK’
   60 |         CHECK(reference::E(i,j,k,a,b,R[0]) == Approx(E(i,j,k,0)));
      |         ^~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc: In lambda function:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:86:14: error: reference to ‘reference’ is ambiguous
   86 |     auto u = reference::R(x, y, z, 0, s, PQ.data);
      |              ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:6:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/reference.h:10:24: note: candidates are: ‘namespace libintx::md::reference { }’
   10 | namespace libintx::md::reference {
      |                        ^~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/test.h:6,
                 from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:2:
/home/jhammond/Chemistry/libintx/src/libintx/reference.h:13:20: note:                 ‘namespace libintx::reference { }’
   13 | namespace libintx::reference {
      |                    ^~~~~~~~~
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc: In function ‘void _DOCTEST_ANON_FUNC_19()’:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:90:28: error: no matching function for call to ‘visit<libintx::md::r1::DepthFirst>(_DOCTEST_ANON_FUNC_19()::<lambda(auto:103)>&, libintx::Double<3>&, double [4])’
   90 |   r1::visit<r1::DepthFirst>(visitor, PQ, s);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:5:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/r1.h:89:6: note: candidate: ‘template<libintx::md::r1::Order Order, int I, int J, int K, class F, class ... R2, class ... R1, class auto:73> void libintx::md::r1::visit(F, const auto:73&, std::tuple<Rs ...>, const libintx::md::r1::R<I, J, K, 0>&, const R1& ...)’
   89 | void visit(F f, const auto& PQ,
      |      ^~~~~
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/r1.h:89:6: note:   template argument deduction/substitution failed:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:90:28: note:   mismatched types ‘std::tuple<Rs ...>’ and ‘double*’
   90 |   r1::visit<r1::DepthFirst>(visitor, PQ, s);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:5:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/r1.h:116:6: note: candidate: ‘template<libintx::md::r1::Order Order, class F, int N, long unsigned int ...Idx, class auto:74, class auto:75> void libintx::md::r1::visit(F, const auto:74&, const auto:75 (&)[N], std::index_sequence<Is ...>)’
  116 | void visit(F f, const auto& PQ, const auto (&s)[N], std::index_sequence<Idx...>) {
      |      ^~~~~
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/r1.h:116:6: note:   template argument deduction/substitution failed:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:90:28: note:   candidate expects 4 arguments, 3 provided
   90 |   r1::visit<r1::DepthFirst>(visitor, PQ, s);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
In file included from /home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:5:
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/r1.h:122:6: note: candidate: ‘template<int L, libintx::md::r1::Order Order, int N, class F, class auto:76, class auto:77> void libintx::md::r1::visit(F, const auto:76&, const auto:77 (&)[N])’
  122 | void visit(F f, const auto& PQ, const auto (&s)[N]) {
      |      ^~~~~
/home/jhammond/Chemistry/libintx/src/libintx/engine/md/r1.h:122:6: note:   template argument deduction/substitution failed:
/home/jhammond/Chemistry/libintx/tests/libintx.md.test.cc:90:28: note:   couldn’t deduce template parameter ‘Order’
   90 |   r1::visit<r1::DepthFirst>(visitor, PQ, s);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
make[3]: *** [tests/CMakeFiles/libintx.md.test.dir/build.make:76: tests/CMakeFiles/libintx.md.test.dir/libintx.md.test.cc.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:1043: tests/CMakeFiles/libintx.md.test.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:1050: tests/CMakeFiles/libintx.md.test.dir/rule] Error 2
make: *** [Makefile:608: libintx.md.test] Error 2
jhammond@nuclear:~/Chemistry/libintx/build

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions