From mboxrd@z Thu Jan 1 00:00:00 1970 From: Johan Rydberg To: Ben Elliston Cc: "Frank Ch. Eigler" , cgen@sources.redhat.com Subject: Re: enums Date: Wed, 06 Dec 2000 03:38:00 -0000 Message-id: <3A2E2584.FA57F7B6@netinsight.se> References: X-SW-Source: 2000-q4/msg00239.html Ben Elliston wrote: > In other contexts, an enum value can be: > > (values "RESET" "BUSERR" "DPF" ..) > > Does that work? No, and here's the backtrace: ERROR: In procedure caar: ERROR: Wrong type argument in position 1: () Backtrace: 0 (begin (apply display-error #f ...) (save-stack) ...) 1* (if (= (length args) 5) (begin (apply display-error #f ...) (save-stack) ...)) 2* [# wrong-type-arg "caar" ...] 3* [caar (() (prefix E_) (values "RESET" "BUSERR" ...))] 4 (let ((arg #) (elm-name #)) (case elm-name (# #) ...) ...) 5 (if (null? arg-list) nil ...) 6 [# (() (prefix E_) (values "RESET" "BUSERR" ...))] 7 (let ((arg #) (elm-name #)) (case elm-name (# #) ...) ...) 8 (if (null? arg-list) nil ...) 9 [# ((comment "exception vectors") () (prefix E_) ...)] 10 (let ((arg #) (elm-name #)) (case elm-name (# #) ...) ...) 11 (if (null? arg-list) nil ...) 12 [# ((name e-exception) (comment "exception vectors") () ...)] 13* (letrec ((loop #)) (loop arg-list)) 14 (let ((name nil) (comment "") (attrs nil) ...) (letrec (#) (loop arg-list)) ...) 15 [-enum-read "define-enum" (name e-exception) ...] 16* [apply # ("define-enum" (name e-exception) (comment "exception vectors") ...)] 17 (let ((e #)) (current-enum-add! e) ...) 18 [define-enum (name e-exception) (comment "exception vectors") ...] 19 [apply # ((name e-exception) (comment "exception vectors") () ...)] 20 (if (< (length #) (car num-args)) (reader-error (string-append "Incorrect number of arguments to " # ...) entry ...) ...) 21 (if (cdr num-args) (if (< # #) (reader-error # entry ...) ...) ...) 22 (let* ((handler #) (arg-spec #) (num-args #)) (if (cdr num-args) (if # # ...) ...)) 23 (if command (let* (# # #) (if # # ...)) ...) 24* (let ((command #)) (if command (let* # #) ...)) 25 [-reader-process-expanded-1 (define-enum (name e-exception) (comment "exception vectors") ...)] 26 (if (eq? (car entry) (quote begin)) (for-each -reader-process-expanded (cdr entry)) ...) 27 [-reader-process-expanded (define-enum (name e-exception) (comment "exception vectors") ...)] 28 (let ((expansion #)) (-reader-process-expanded expansion)) 29* [reader-process (define-enum (name e-exception) (comment "exception vectors") ...)] 30 (begin (reader-process entry) (loop (read))) ... 31 (if (eof-object? entry) #t ...) 32 [# (define-isa (name or32) (base-insn-bitsize 32) ...)] 33 (begin (reader-process entry) (loop (read))) 34 (if (eof-object? entry) #t ...) 35 [# (define-arch (name or32) (comment "OpenRISC 1000") ...)] 36 (begin (reader-process entry) (loop (read))) 37 (if (eof-object? entry) #t ...) 38 [# (include "simplify.inc")] 39* (letrec ((loop #)) (loop (read))) 40* [#] 41 [lazy-catch #t # ...] ... 42 (let* () (set! srcdir (find-srcdir #)) ...) 43* [cgen-opc ("./../cgen/cgen-opc.scm" "-s" "./../cgen" ...)] 44* [primitive-load "./../cgen/cgen-opc.scm"] -- Johan Rydberg, Net Insight AB, Sweden, +46-8-685 04 00 $ ON F$ERROR("LANGUAGE","ENGLISH","IN_MESSAGE").GT.F$ERROR("NORMAL") - THEN EXCUSE/OBJECT=ME