Subject: bug#65978: comp-tests-ret-type-spec-71 fails on 32-bit powerpc

From: Eli Zaretskii <[email-masked]>
Date: Thu, 14 Sep 2023 16:02:10 +0300

> Cc: debian-powerpc <[email-masked]>
> From: John Paul Adrian Glaubitz <[email-masked]>
> Date: Thu, 14 Sep 2023 14:28:24 +0200
> 
> Hello!
> 
> The test comp-tests-ret-type-spec-71 reproducibly fails on 32-bit powerpc:
> 
> Test comp-tests-ret-type-spec-71 backtrace:
>   signal(ert-test-failed (((should (equal (cl-third (subr-type (symbol
>   ert-fail(((should (equal (cl-third (subr-type (symbol-function f-nam
>   comp-tests-check-ret-type-spec((defun comp-tests-ret-type-spec-f (x)
>   #f(compiled-function () #<bytecode -0x221c87d>)()
>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>   ert-run-test(#s(ert-test :name comp-tests-ret-type-spec-71 :document
>   ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>   ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
>   ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
>   ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
>   command-line-1(("-L" ":/<<PKGBUILDDIR>>/debian/build
>   command-line()
>   normal-top-level()
> Test comp-tests-ret-type-spec-71 condition:
>     (ert-test-failed
>      ((should
>        (equal
> 	(cl-third ...)
> 	ret-type))
>       :form
>       (equal
>        (or
> 	(member 0.0 -0.0)
> 	(integer 0 0))
>        (or
> 	(member -0.0 0.0)
> 	(integer 0 0)))
>       :value nil :explanation
>       (list-elt 1
> 		(list-elt 1
> 			  (different-atoms 0.0 -0.0)))))
>    FAILED  145/166  comp-tests-ret-type-spec-71 (0.399696 sec)

Something about the sign of zero, I guess?  Adding Andreas, in the
hope that he will have some suggestions.