ports/math/libpoly/files/patch-test_polyxx_doctest.h
Piotr Kubaj 5b5da69612 math/libpoly: fix build on powerpc*
/wrkdirs/usr/ports/math/libpoly/work/libpoly-0.1.13/test/polyxx/test_algebraic_number.cpp:31:3: error: invalid operand for instruction
  CHECK(-1.5 < d1);
  ^
/wrkdirs/usr/ports/math/libpoly/work/libpoly-0.1.13/test/polyxx/doctest.h:2971:20: note: expanded from macro 'CHECK'
                   ^
/wrkdirs/usr/ports/math/libpoly/work/libpoly-0.1.13/test/polyxx/doctest.h:2442:28: note: expanded from macro 'DOCTEST_CHECK'
                           ^
/wrkdirs/usr/ports/math/libpoly/work/libpoly-0.1.13/test/polyxx/doctest.h:2398:9: note: expanded from macro 'DOCTEST_ASSERT_IMPLEMENT_1'
        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
        ^
/wrkdirs/usr/ports/math/libpoly/work/libpoly-0.1.13/test/polyxx/doctest.h:2393:5: note: expanded from macro 'DOCTEST_ASSERT_IMPLEMENT_2'
    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
    ^
/wrkdirs/usr/ports/math/libpoly/work/libpoly-0.1.13/test/polyxx/doctest.h:2139:17: note: expanded from macro 'DOCTEST_ASSERT_LOG_REACT_RETURN'
    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
                ^
/wrkdirs/usr/ports/math/libpoly/work/libpoly-0.1.13/test/polyxx/doctest.h:462:47: note: expanded from macro 'DOCTEST_BREAK_INTO_DEBUGGER'
                                              ^
<inline asm>:1:5: note: instantiated into assembly here
        li r0, 20
           ^
2023-12-03 12:13:47 +01:00

11 lines
704 B
C

--- test/polyxx/doctest.h.orig 2023-12-02 21:09:53 UTC
+++ test/polyxx/doctest.h
@@ -459,7 +459,7 @@ namespace doctest { namespace detail {
// Break at the location of the failing check if possible
#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
#elif defined(__ppc__) || defined(__ppc64__)
-#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("li r0, 20\nsc\nnop\nli r0, 37\nli r4, 2\nsc\nnop\n" : : : "memory","r0","r3","r4" ) /* NOLINT */
+#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("li 0, 20\nsc\nnop\nli 0, 37\nli 4, 2\nsc\nnop\n" : : : "memory","0","3","4" ) /* NOLINT */
#else
#include <signal.h>
#define DOCTEST_BREAK_INTO_DEBUGGER() raise(SIGTRAP)