This is the mail archive of the
cgen@sources.redhat.com
mailing list for the CGEN project.
Re: Generating CPU family headers for multiple isas
- To: cgen development <cgen at sources dot redhat dot com>
- Subject: Re: Generating CPU family headers for multiple isas
- From: Ben Elliston <bje at redhat dot com>
- Date: Thu, 23 Nov 2000 11:37:25 +1100 (EST)
Done analysis.
Computing sformat argument buffers ...
ERROR: multiple isas selected (bar baz)
No backtrace available.
On Frank's suggestion, I reverted to Guile 1.3, which has better (working)
backtraces. I see that the error arises here:
[error "multiple isas selected (bar baz)"]
(if (= (length keep-isa) 1) (current-isa-lookup (car keep-isa)) ...)
(if (equal? keep-isa (quote #)) (let (#) (if # # ...)) ...)
(let ((keep-isa #)) (if (equal? keep-isa #) (let # #) ...))
[current-isa]
[isa-integral-insn?]
[#<procedure ()>]
[force #<promise #<procedure ()>>]
[adata-integral-insn? #(#("object" # # ...) (# #f # ...))]
(if (adata-integral-insn? CURRENT-ARCH) 32 ...)
(let * ((base-length #) (chunk-specs #)) (string-list (...))
[gen-define-ifields () 0 ...]
This is due to a call in (cgen-cpu.h) to (-gen-extract-macros).
It looks like this function is meant to emit macros for extracting ifields
-- this gives me a bad feeling, since these would need to be emitted for
*each* isa in a multiple-isa cpu. Any ideas?
Ben