* bug#51104: comp-tests.elc messes up after reconfiguring for different machine
@ 2021-10-08 22:59 Paul Eggert
2022-09-12 11:15 ` Lars Ingebrigtsen
0 siblings, 1 reply; 11+ messages in thread
From: Paul Eggert @ 2021-10-08 22:59 UTC (permalink / raw)
To: 51104; +Cc: Andrea Corallo
When trying out the emacs-28 branch on both 32- and 64-bit platforms, I
had test failures that I tracked down to this line:
test/src/comp-tests.el:933: (integer ,most-negative-fixnum
,most-positive-fixnum))
My problem was that I'd built test/src/comp-tests.elc on a 32-bit
platform (using "./configure CC='gcc -m32'" on an x86-64 machine) so
that .elc file had been built assuming 32-bit values for
most-negative-fixnum and most-positive fixnum. When I then re-ran
'configure' for a 64-bit platform the .elc files were not automatically
rebuilt for it (they're supposed to be machine-independent, right?) and
so the optimizations were incorrect for a 64-bit platform and the tests
failed.
What's a good way to fix this problem, while still testing everything
that comp-tests.el wants to test?
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#51104: comp-tests.elc messes up after reconfiguring for different machine
2021-10-08 22:59 bug#51104: comp-tests.elc messes up after reconfiguring for different machine Paul Eggert
@ 2022-09-12 11:15 ` Lars Ingebrigtsen
2022-09-12 11:43 ` Eli Zaretskii
2022-09-12 15:30 ` Andrea Corallo
0 siblings, 2 replies; 11+ messages in thread
From: Lars Ingebrigtsen @ 2022-09-12 11:15 UTC (permalink / raw)
To: Paul Eggert; +Cc: 51104, Andrea Corallo
Paul Eggert <eggert@cs.ucla.edu> writes:
> When trying out the emacs-28 branch on both 32- and 64-bit platforms,
> I had test failures that I tracked down to this line:
>
> test/src/comp-tests.el:933: (integer ,most-negative-fixnum
> ,most-positive-fixnum))
>
> My problem was that I'd built test/src/comp-tests.elc on a 32-bit
> platform (using "./configure CC='gcc -m32'" on an x86-64 machine) so
> that .elc file had been built assuming 32-bit values for
> most-negative-fixnum and most-positive fixnum. When I then re-ran
> 'configure' for a 64-bit platform the .elc files were not
> automatically rebuilt for it (they're supposed to be
> machine-independent, right?) and so the optimizations were incorrect
> for a 64-bit platform and the tests failed.
>
> What's a good way to fix this problem, while still testing everything
> that comp-tests.el wants to test?
This was a year ago, but the code in question seems unchanged now on
"master":
;; 14
((defun comp-tests-ret-type-spec-f (x)
(comp-hint-fixnum x))
(integer ,most-negative-fixnum ,most-positive-fixnum))
So I guess the problem is still present? (I haven't tested myself.)
Andrea, do you see any way to fix this test for this 32-bit/64-bit
scenarion?
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#51104: comp-tests.elc messes up after reconfiguring for different machine
2022-09-12 11:15 ` Lars Ingebrigtsen
@ 2022-09-12 11:43 ` Eli Zaretskii
2022-09-12 15:30 ` Andrea Corallo
1 sibling, 0 replies; 11+ messages in thread
From: Eli Zaretskii @ 2022-09-12 11:43 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 51104, eggert, andrea_corallo
> Cc: 51104@debbugs.gnu.org, Andrea Corallo <andrea_corallo@yahoo.it>
> From: Lars Ingebrigtsen <larsi@gnus.org>
> Date: Mon, 12 Sep 2022 13:15:56 +0200
>
> Paul Eggert <eggert@cs.ucla.edu> writes:
>
> > When trying out the emacs-28 branch on both 32- and 64-bit platforms,
> > I had test failures that I tracked down to this line:
> >
> > test/src/comp-tests.el:933: (integer ,most-negative-fixnum
> > ,most-positive-fixnum))
> >
> > My problem was that I'd built test/src/comp-tests.elc on a 32-bit
> > platform (using "./configure CC='gcc -m32'" on an x86-64 machine) so
> > that .elc file had been built assuming 32-bit values for
> > most-negative-fixnum and most-positive fixnum. When I then re-ran
> > 'configure' for a 64-bit platform the .elc files were not
> > automatically rebuilt for it (they're supposed to be
> > machine-independent, right?) and so the optimizations were incorrect
> > for a 64-bit platform and the tests failed.
> >
> > What's a good way to fix this problem, while still testing everything
> > that comp-tests.el wants to test?
>
> This was a year ago, but the code in question seems unchanged now on
> "master":
>
> ;; 14
> ((defun comp-tests-ret-type-spec-f (x)
> (comp-hint-fixnum x))
> (integer ,most-negative-fixnum ,most-positive-fixnum))
>
> So I guess the problem is still present? (I haven't tested myself.)
>
> Andrea, do you see any way to fix this test for this 32-bit/64-bit
> scenarion?
Is comp-tests.el supposed to run when Emacs is built without
native-compilation? if so, what does it test in that case?
And if comp-tests.el is supposed to run only in a native-compilation
build, then I'd expect to see comp-test.eln run, not comp-test.elc,
and *.eln files are architecture-specific to begin with.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#51104: comp-tests.elc messes up after reconfiguring for different machine
2022-09-12 11:15 ` Lars Ingebrigtsen
2022-09-12 11:43 ` Eli Zaretskii
@ 2022-09-12 15:30 ` Andrea Corallo
2022-09-12 17:54 ` Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-12 21:05 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 2 replies; 11+ messages in thread
From: Andrea Corallo @ 2022-09-12 15:30 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 51104, Paul Eggert, Andrea Corallo
Lars Ingebrigtsen <larsi@gnus.org> writes:
> Paul Eggert <eggert@cs.ucla.edu> writes:
>
>> When trying out the emacs-28 branch on both 32- and 64-bit platforms,
>> I had test failures that I tracked down to this line:
>>
>> test/src/comp-tests.el:933: (integer ,most-negative-fixnum
>> ,most-positive-fixnum))
>>
>> My problem was that I'd built test/src/comp-tests.elc on a 32-bit
>> platform (using "./configure CC='gcc -m32'" on an x86-64 machine) so
>> that .elc file had been built assuming 32-bit values for
>> most-negative-fixnum and most-positive fixnum. When I then re-ran
>> 'configure' for a 64-bit platform the .elc files were not
>> automatically rebuilt for it (they're supposed to be
>> machine-independent, right?) and so the optimizations were incorrect
>> for a 64-bit platform and the tests failed.
>>
>> What's a good way to fix this problem, while still testing everything
>> that comp-tests.el wants to test?
>
> This was a year ago, but the code in question seems unchanged now on
> "master":
>
> ;; 14
> ((defun comp-tests-ret-type-spec-f (x)
> (comp-hint-fixnum x))
> (integer ,most-negative-fixnum ,most-positive-fixnum))
>
> So I guess the problem is still present? (I haven't tested myself.)
>
> Andrea, do you see any way to fix this test for this 32-bit/64-bit
> scenarion?
Hi Lars,
I think here IIUC we are using a .elc file (comp-tests.elc) compiled an
an arch X to test .eln files for architectures different than X.
`most-negative-fixnum' is replaced at byte-compilation time with a value
that is indeed arch dependent. This is because we have some macrology
to defines those tests.
I believe in theory should be possible to move this computation in the
compile time to keep "comp-tests.elc" arch indepent if this is
requirement.
Best Regards
Andrea
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#51104: comp-tests.elc messes up after reconfiguring for different machine
2022-09-12 15:30 ` Andrea Corallo
@ 2022-09-12 17:54 ` Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-12 19:34 ` Andrea Corallo
2022-09-12 21:05 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 11+ messages in thread
From: Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-09-12 17:54 UTC (permalink / raw)
To: Andrea Corallo, Lars Ingebrigtsen; +Cc: 51104, Andrea Corallo
On 9/12/22 10:30, Andrea Corallo wrote:
> I believe in theory should be possible to move this computation in the
> compile time to keep "comp-tests.elc" arch indepent if this is
> requirement.
As I understand it, .elc files are supposed to be architecture independent.
Is Lars onto something when he says this should be a .eln file instead?
I don't recall what comp-tests.el does.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#51104: comp-tests.elc messes up after reconfiguring for different machine
2022-09-12 17:54 ` Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-09-12 19:34 ` Andrea Corallo
2022-09-12 20:34 ` Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 11+ messages in thread
From: Andrea Corallo @ 2022-09-12 19:34 UTC (permalink / raw)
To: 51104; +Cc: larsi, eggert, andrea_corallo
Paul Eggert via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs@gnu.org> writes:
> On 9/12/22 10:30, Andrea Corallo wrote:
>> I believe in theory should be possible to move this computation in the
>> compile time to keep "comp-tests.elc" arch indepent if this is
>> requirement.
>
> As I understand it, .elc files are supposed to be architecture independent.
>
> Is Lars onto something when he says this should be a .eln file
> instead? I don't recall what comp-tests.el does.
comp-tests.el just tests the native compiler (in this case the ret type
prediction it does).
I guess here make check does byte-compile comp-tests.el but being the
tests executed with a non-interactive emacs this is never native compiled
afterward (it would hide the issue).
Probably the quickest and easiest fix is just to add the
`no-byte-compile' into comp-tests.el.
Andrea
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#51104: comp-tests.elc messes up after reconfiguring for different machine
2022-09-12 19:34 ` Andrea Corallo
@ 2022-09-12 20:34 ` Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 11+ messages in thread
From: Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-09-12 20:34 UTC (permalink / raw)
To: Andrea Corallo; +Cc: 51104-done, Lars Ingebrigtsen, Andrea Corallo
[-- Attachment #1: Type: text/plain, Size: 224 bytes --]
On 9/12/22 14:34, Andrea Corallo wrote:
> Probably the quickest and easiest fix is just to add the
> `no-byte-compile' into comp-tests.el.
Thanks for the suggestion. I installed the attached and am closing the
bug report.
[-- Attachment #2: 0001-Fix-comp-tests.el-problem-after-reconfiguring.patch --]
[-- Type: text/x-patch, Size: 796 bytes --]
From 357eb8d933f20a9e868d798a3cd4feb8536b1948 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 12 Sep 2022 15:31:36 -0500
Subject: [PATCH] Fix comp-tests.el problem after reconfiguring
* test/src/comp-tests.el: Do not byte-compile, as the .elc
file would be machine-dependent (bug#51104).
---
test/src/comp-tests.el | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/test/src/comp-tests.el b/test/src/comp-tests.el
index 1b239cec79..a5f33069e0 100644
--- a/test/src/comp-tests.el
+++ b/test/src/comp-tests.el
@@ -1472,4 +1472,8 @@ comp-tests-cond-rw-checker-type
(equal (comp-mvar-typeset mvar)
comp-tests-cond-rw-expected-type))))))))
+;; Local Variables:
+;; no-byte-compile: t
+;; End:
+
;;; comp-tests.el ends here
--
2.37.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* bug#51104: comp-tests.elc messes up after reconfiguring for different machine
2022-09-12 15:30 ` Andrea Corallo
2022-09-12 17:54 ` Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-09-12 21:05 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-13 11:21 ` Lars Ingebrigtsen
1 sibling, 1 reply; 11+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-09-12 21:05 UTC (permalink / raw)
To: Andrea Corallo; +Cc: 51104, Lars Ingebrigtsen, Paul Eggert, Andrea Corallo
>> Andrea, do you see any way to fix this test for this 32-bit/64-bit
>> scenarion?
Not Andrea, but IIUC the patch below might do the trick.
Can someone confirm?
Stefan
diff --git a/test/src/comp-tests.el b/test/src/comp-tests.el
index a5f33069e01..a400a1a50a1 100644
--- a/test/src/comp-tests.el
+++ b/test/src/comp-tests.el
@@ -860,21 +860,21 @@ comp-tests-check-ret-type-spec
(cl-eval-when (compile eval load)
(defconst comp-tests-type-spec-tests
- `(
+ '(
;; 1
((defun comp-tests-ret-type-spec-f (x)
x)
- t)
+ 't)
;; 2
((defun comp-tests-ret-type-spec-f ()
1)
- (integer 1 1))
+ '(integer 1 1))
;; 3
((defun comp-tests-ret-type-spec-f (x)
(if x 1 3))
- (or (integer 1 1) (integer 3 3)))
+ '(or (integer 1 1) (integer 3 3)))
;; 4
((defun comp-tests-ret-type-spec-f (x)
@@ -883,7 +883,7 @@ comp-tests-check-ret-type-spec
(setf y 1)
(setf y 2))
y))
- (integer 1 2))
+ '(integer 1 2))
;; 5
((defun comp-tests-ret-type-spec-f (x)
@@ -892,73 +892,73 @@ comp-tests-check-ret-type-spec
(setf y 1)
(setf y 3))
y))
- (or (integer 1 1) (integer 3 3)))
+ '(or (integer 1 1) (integer 3 3)))
;; 6
((defun comp-tests-ret-type-spec-f (x)
(if x
(list x)
3))
- (or cons (integer 3 3)))
+ '(or cons (integer 3 3)))
;; 7
((defun comp-tests-ret-type-spec-f (x)
(if x
'foo
3))
- (or (member foo) (integer 3 3)))
+ '(or (member foo) (integer 3 3)))
;; 8
((defun comp-tests-ret-type-spec-f (x)
(if (eq x 3)
x
'foo))
- (or (member foo) (integer 3 3)))
+ '(or (member foo) (integer 3 3)))
;; 9
((defun comp-tests-ret-type-spec-f (x)
(if (eq 3 x)
x
'foo))
- (or (member foo) (integer 3 3)))
+ '(or (member foo) (integer 3 3)))
;; 10
((defun comp-tests-ret-type-spec-f (x)
(if (eql x 3)
x
'foo))
- (or (member foo) (integer 3 3)))
+ '(or (member foo) (integer 3 3)))
;; 11
((defun comp-tests-ret-type-spec-f (x)
(if (eql 3 x)
x
'foo))
- (or (member foo) (integer 3 3)))
+ '(or (member foo) (integer 3 3)))
;; 12
((defun comp-tests-ret-type-spec-f (x)
(if (eql x 3)
'foo
x))
- (not (integer 3 3)))
+ '(not (integer 3 3)))
;; 13
((defun comp-tests-ret-type-spec-f (x y)
(if (= x y)
x
'foo))
- (or (member foo) marker number))
+ '(or (member foo) marker number))
;; 14
((defun comp-tests-ret-type-spec-f (x)
(comp-hint-fixnum x))
- (integer ,most-negative-fixnum ,most-positive-fixnum))
+ `(integer ,most-negative-fixnum ,most-positive-fixnum))
;; 15
((defun comp-tests-ret-type-spec-f (x)
(comp-hint-cons x))
- cons)
+ 'cons)
;; 16
((defun comp-tests-ret-type-spec-f (x)
@@ -966,7 +966,7 @@ comp-tests-check-ret-type-spec
(when x
(setf y 4))
y))
- (or null (integer 4 4)))
+ '(or null (integer 4 4)))
;; 17
((defun comp-tests-ret-type-spec-f ()
@@ -974,7 +974,7 @@ comp-tests-check-ret-type-spec
(y 3))
(setf x y)
y))
- (integer 3 3))
+ '(integer 3 3))
;; 18
((defun comp-tests-ret-type-spec-f (x)
@@ -982,120 +982,120 @@ comp-tests-check-ret-type-spec
(when x
(setf y x))
y))
- t)
+ 't)
;; 19
((defun comp-tests-ret-type-spec-f (x y)
(eq x y))
- boolean)
+ 'boolean)
;; 20
((defun comp-tests-ret-type-spec-f (x)
(when x
'foo))
- (or (member foo) null))
+ '(or (member foo) null))
;; 21
((defun comp-tests-ret-type-spec-f (x)
(unless x
'foo))
- (or (member foo) null))
+ '(or (member foo) null))
;; 22
((defun comp-tests-ret-type-spec-f (x)
(when (> x 3)
x))
- (or null float (integer 4 *)))
+ '(or null float (integer 4 *)))
;; 23
((defun comp-tests-ret-type-spec-f (x)
(when (>= x 3)
x))
- (or null float (integer 3 *)))
+ '(or null float (integer 3 *)))
;; 24
((defun comp-tests-ret-type-spec-f (x)
(when (< x 3)
x))
- (or null float (integer * 2)))
+ '(or null float (integer * 2)))
;; 25
((defun comp-tests-ret-type-spec-f (x)
(when (<= x 3)
x))
- (or null float (integer * 3)))
+ '(or null float (integer * 3)))
;; 26
((defun comp-tests-ret-type-spec-f (x)
(when (> 3 x)
x))
- (or null float (integer * 2)))
+ '(or null float (integer * 2)))
;; 27
((defun comp-tests-ret-type-spec-f (x)
(when (>= 3 x)
x))
- (or null float (integer * 3)))
+ '(or null float (integer * 3)))
;; 28
((defun comp-tests-ret-type-spec-f (x)
(when (< 3 x)
x))
- (or null float (integer 4 *)))
+ '(or null float (integer 4 *)))
;; 29
((defun comp-tests-ret-type-spec-f (x)
(when (<= 3 x)
x))
- (or null float (integer 3 *)))
+ '(or null float (integer 3 *)))
;; 30
((defun comp-tests-ret-type-spec-f (x)
(let ((y 3))
(when (> x y)
x)))
- (or null float (integer 4 *)))
+ '(or null float (integer 4 *)))
;; 31
((defun comp-tests-ret-type-spec-f (x)
(let ((y 3))
(when (> y x)
x)))
- (or null float (integer * 2)))
+ '(or null float (integer * 2)))
;; 32
((defun comp-tests-ret-type-spec-f (x)
(when (and (> x 3)
(< x 10))
x))
- (or null float (integer 4 9)))
+ '(or null float (integer 4 9)))
;; 33
((defun comp-tests-ret-type-spec-f (x)
(when (or (> x 3)
(< x 10))
x))
- (or null float integer))
+ '(or null float integer))
;; 34
((defun comp-tests-ret-type-spec-f (x)
(when (or (< x 3)
(> x 10))
x))
- (or null float (integer * 2) (integer 11 *)))
+ '(or null float (integer * 2) (integer 11 *)))
;; 35 No float range support.
((defun comp-tests-ret-type-spec-f (x)
(when (> x 1.0)
x))
- (or null marker number))
+ '(or null marker number))
;; 36
((defun comp-tests-ret-type-spec-f (x y)
(when (and (> x 3)
(> y 2))
(+ x y)))
- (or null float (integer 7 *)))
+ '(or null float (integer 7 *)))
;; 37
;; SBCL: (OR REAL NULL)
@@ -1103,14 +1103,14 @@ comp-tests-check-ret-type-spec
(when (and (<= x 3)
(<= y 2))
(+ x y)))
- (or null float (integer * 5)))
+ '(or null float (integer * 5)))
;; 38
((defun comp-tests-ret-type-spec-f (x y)
(when (and (< 1 x 5)
(< 1 y 5))
(+ x y)))
- (or null float (integer 4 8)))
+ '(or null float (integer 4 8)))
;; 39
;; SBCL gives: (OR REAL NULL)
@@ -1118,7 +1118,7 @@ comp-tests-check-ret-type-spec
(when (and (<= 1 x 10)
(<= 2 y 3))
(+ x y)))
- (or null float (integer 3 13)))
+ '(or null float (integer 3 13)))
;; 40
;; SBCL: (OR REAL NULL)
@@ -1126,42 +1126,42 @@ comp-tests-check-ret-type-spec
(when (and (<= 1 x 10)
(<= 2 y 3))
(- x y)))
- (or null float (integer -2 8)))
+ '(or null float (integer -2 8)))
;; 41
((defun comp-tests-ret-type-spec-f (x y)
(when (and (<= 1 x)
(<= 2 y 3))
(- x y)))
- (or null float (integer -2 *)))
+ '(or null float (integer -2 *)))
;; 42
((defun comp-tests-ret-type-spec-f (x y)
(when (and (<= 1 x 10)
(<= 2 y))
(- x y)))
- (or null float (integer * 8)))
+ '(or null float (integer * 8)))
;; 43
((defun comp-tests-ret-type-spec-f (x y)
(when (and (<= x 10)
(<= 2 y))
(- x y)))
- (or null float (integer * 8)))
+ '(or null float (integer * 8)))
;; 44
((defun comp-tests-ret-type-spec-f (x y)
(when (and (<= x 10)
(<= y 3))
(- x y)))
- (or null float integer))
+ '(or null float integer))
;; 45
((defun comp-tests-ret-type-spec-f (x y)
(when (and (<= 2 x)
(<= 3 y))
(- x y)))
- (or null float integer))
+ '(or null float integer))
;; 46
;; SBCL: (OR (RATIONAL (6) (30)) (SINGLE-FLOAT 6.0 30.0)
@@ -1174,63 +1174,63 @@ comp-tests-check-ret-type-spec
(< 1 j 5)
(< 1 k 5))
(+ x y z i j k)))
- (or null float (integer 12 24)))
+ '(or null float (integer 12 24)))
;; 47
((defun comp-tests-ret-type-spec-f (x)
(when (<= 1 x 5)
(1+ x)))
- (or null float (integer 2 6)))
+ '(or null float (integer 2 6)))
;;48
((defun comp-tests-ret-type-spec-f (x)
(when (<= 1 x 5)
(1- x)))
- (or null float (integer 0 4)))
+ '(or null float (integer 0 4)))
;; 49
((defun comp-tests-ret-type-spec-f ()
(error "Foo"))
- nil)
+ 'nil)
;; 50
((defun comp-tests-ret-type-spec-f (x)
(if (stringp x)
x
'bar))
- (or (member bar) string))
+ '(or (member bar) string))
;; 51
((defun comp-tests-ret-type-spec-f (x)
(if (stringp x)
'bar
x))
- (not string))
+ '(not string))
;; 52
((defun comp-tests-ret-type-spec-f (x)
(if (integerp x)
x
'bar))
- (or (member bar) integer))
+ '(or (member bar) integer))
;; 53
((defun comp-tests-ret-type-spec-f (x)
(when (integerp x)
x))
- (or null integer))
+ '(or null integer))
;; 54
((defun comp-tests-ret-type-spec-f (x)
(unless (symbolp x)
x))
- t)
+ 't)
;; 55
((defun comp-tests-ret-type-spec-f (x)
(unless (integerp x)
x))
- (not integer))
+ '(not integer))
;; 56
((defun comp-tests-ret-type-spec-f (x)
@@ -1238,7 +1238,7 @@ comp-tests-check-ret-type-spec
(1 (message "one"))
(5 (message "five")))
x)
- t
+ 't
;; FIXME improve `comp-cond-cstrs-target-mvar' to cross block
;; boundary if necessary as this should return:
;; (or (integer 1 1) (integer 5 5))
@@ -1250,7 +1250,7 @@ comp-tests-check-ret-type-spec
(eql x 3))
(error "Not foo or 3"))
x)
- (or (member foo) (integer 3 3)))
+ '(or (member foo) (integer 3 3)))
;;58
((defun comp-tests-ret-type-spec-f (x y)
@@ -1259,7 +1259,7 @@ comp-tests-check-ret-type-spec
(<= x y))
x
(error "")))
- (integer 0 *))
+ '(integer 0 *))
;; 59
((defun comp-tests-ret-type-spec-f (x y)
@@ -1268,7 +1268,7 @@ comp-tests-check-ret-type-spec
(<= x y))
x
(error "")))
- (or float (integer 3 10)))
+ '(or float (integer 3 10)))
;; 60
((defun comp-tests-ret-type-spec-f (x y)
@@ -1277,56 +1277,56 @@ comp-tests-check-ret-type-spec
(>= x y))
x
(error "")))
- (or float (integer 3 10)))
+ '(or float (integer 3 10)))
;; 61
((defun comp-tests-ret-type-spec-f (x)
(if (= x 1.0)
x
(error "")))
- (or (member 1.0) (integer 1 1)))
+ '(or (member 1.0) (integer 1 1)))
;; 62
((defun comp-tests-ret-type-spec-f (x)
(if (= x 1.0)
x
(error "")))
- (or (member 1.0) (integer 1 1)))
+ '(or (member 1.0) (integer 1 1)))
;; 63
((defun comp-tests-ret-type-spec-f (x)
(if (= x 1.1)
x
(error "")))
- (member 1.1))
+ '(member 1.1))
;; 64
((defun comp-tests-ret-type-spec-f (x)
(if (= x 1)
x
(error "")))
- (or (member 1.0) (integer 1 1)))
+ '(or (member 1.0) (integer 1 1)))
;; 65
((defun comp-tests-ret-type-spec-f (x)
(if (= x 1)
x
(error "")))
- (or (member 1.0) (integer 1 1)))
+ '(or (member 1.0) (integer 1 1)))
;; 66
((defun comp-tests-ret-type-spec-f (x)
(if (eql x 0.0)
x
(error "")))
- float)
+ 'float)
;; 67
((defun comp-tests-ret-type-spec-f (x)
(if (equal x '(1 2 3))
x
(error "")))
- cons)
+ 'cons)
;; 68
((defun comp-tests-ret-type-spec-f (x)
@@ -1335,7 +1335,7 @@ comp-tests-check-ret-type-spec
x
(error "")))
;; Conservative (see cstr relax in `comp-cstr-=').
- (or (member 1.0) (integer 1 1)))
+ '(or (member 1.0) (integer 1 1)))
;; 69
((defun comp-tests-ret-type-spec-f (x)
@@ -1344,7 +1344,7 @@ comp-tests-check-ret-type-spec
x
(error "")))
;; Conservative (see cstr relax in `comp-cstr-=').
- (or (member 1.0) (integer 1 1)))
+ '(or (member 1.0) (integer 1 1)))
;; 70
((defun comp-tests-ret-type-spec-f (x y)
@@ -1353,14 +1353,14 @@ comp-tests-check-ret-type-spec
(= x y))
x
(error "")))
- (or float integer))
+ '(or float integer))
;; 71
((defun comp-tests-ret-type-spec-f (x)
(if (= x 0.0)
x
(error "")))
- (or (member -0.0 0.0) (integer 0 0)))
+ '(or (member -0.0 0.0) (integer 0 0)))
;; 72
((defun comp-tests-ret-type-spec-f (x)
@@ -1369,27 +1369,27 @@ comp-tests-check-ret-type-spec
(unless (eql x -0.0)
(error ""))
x)
- float)
+ 'float)
;; 73
((defun comp-tests-ret-type-spec-f (x)
(when (eql x 1.0)
(error ""))
x)
- t)
+ 't)
;; 74
((defun comp-tests-ret-type-spec-f (x)
(if (eq x 0)
(error "")
(1+ x)))
- number)))
+ 'number)))
(defun comp-tests-define-type-spec-test (number x)
`(comp-deftest ,(intern (format "ret-type-spec-%d" number)) ()
,(format "Type specifier test number %d." number)
(let ((comp-ctxt (make-comp-cstr-ctxt)))
- (comp-tests-check-ret-type-spec ',(car x) ',(cadr x))))))
+ (comp-tests-check-ret-type-spec ',(car x) ,(cadr x))))))
(defmacro comp-tests-define-type-spec-tests ()
"Define all type specifier tests."
@@ -1472,8 +1472,4 @@ comp-tests-cond-rw-checker-type
(equal (comp-mvar-typeset mvar)
comp-tests-cond-rw-expected-type))))))))
-;; Local Variables:
-;; no-byte-compile: t
-;; End:
-
;;; comp-tests.el ends here
^ permalink raw reply related [flat|nested] 11+ messages in thread
* bug#51104: comp-tests.elc messes up after reconfiguring for different machine
2022-09-12 21:05 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-09-13 11:21 ` Lars Ingebrigtsen
2022-09-13 13:39 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-13 14:09 ` Andrea Corallo
0 siblings, 2 replies; 11+ messages in thread
From: Lars Ingebrigtsen @ 2022-09-13 11:21 UTC (permalink / raw)
To: Stefan Monnier; +Cc: 51104, Paul Eggert, Andrea Corallo, Andrea Corallo
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>> Andrea, do you see any way to fix this test for this 32-bit/64-bit
>>> scenarion?
>
> Not Andrea, but IIUC the patch below might do the trick.
> Can someone confirm?
I think that looks better than disabling byte-compilation (because the
comp tests are already slow enough 😀).
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#51104: comp-tests.elc messes up after reconfiguring for different machine
2022-09-13 11:21 ` Lars Ingebrigtsen
@ 2022-09-13 13:39 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-13 14:09 ` Andrea Corallo
1 sibling, 0 replies; 11+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-09-13 13:39 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 51104, Paul Eggert, Andrea Corallo, Andrea Corallo
Lars Ingebrigtsen [2022-09-13 13:21:53] wrote:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>>> Andrea, do you see any way to fix this test for this 32-bit/64-bit
>>>> scenarion?
>> Not Andrea, but IIUC the patch below might do the trick.
>> Can someone confirm?
> I think that looks better than disabling byte-compilation (because the
> comp tests are already slow enough 😀).
Pushed,
Stefan
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#51104: comp-tests.elc messes up after reconfiguring for different machine
2022-09-13 11:21 ` Lars Ingebrigtsen
2022-09-13 13:39 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-09-13 14:09 ` Andrea Corallo
1 sibling, 0 replies; 11+ messages in thread
From: Andrea Corallo @ 2022-09-13 14:09 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 51104, Paul Eggert, Stefan Monnier, Andrea Corallo
Lars Ingebrigtsen <larsi@gnus.org> writes:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
>>>> Andrea, do you see any way to fix this test for this 32-bit/64-bit
>>>> scenarion?
>>
>> Not Andrea, but IIUC the patch below might do the trick.
>> Can someone confirm?
>
> I think that looks better than disabling byte-compilation (because the
> comp tests are already slow enough 😀).
Comp tests are unfortunatelly slow not because comp-tests.el is slow but
because of the compiler itself is not fast :/
Anyway Stefan fix is certanly nicer, I feel sorry for not having had the
time to look into it myself.
Thanks!
Andrea
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2022-09-13 14:09 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-08 22:59 bug#51104: comp-tests.elc messes up after reconfiguring for different machine Paul Eggert
2022-09-12 11:15 ` Lars Ingebrigtsen
2022-09-12 11:43 ` Eli Zaretskii
2022-09-12 15:30 ` Andrea Corallo
2022-09-12 17:54 ` Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-12 19:34 ` Andrea Corallo
2022-09-12 20:34 ` Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-12 21:05 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-13 11:21 ` Lars Ingebrigtsen
2022-09-13 13:39 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-13 14:09 ` Andrea Corallo
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).