; Assembler/disassembler support generator.
-; Copyright (C) 2000, 2001 Red Hat, Inc.
+; Copyright (C) 2000, 2001, 2005, 2009 Red Hat, Inc.
; This file is part of CGEN.
; Assembler support.
-(define (-gen-parse-switch)
+(define (/gen-parse-switch)
(logit 2 "Generating parse switch ...\n")
(string-list
"\
const char * @arch@_cgen_parse_operand
- PARAMS ((CGEN_CPU_DESC, int, const char **, CGEN_FIELDS *));
+ (CGEN_CPU_DESC, int, const char **, CGEN_FIELDS *);
/* Main entry point for operand parsing.
the handlers. */
const char *
-@arch@_cgen_parse_operand (cd, opindex, strp, fields)
- CGEN_CPU_DESC cd;
- int opindex;
- const char ** strp;
- CGEN_FIELDS * fields;
+@arch@_cgen_parse_operand (CGEN_CPU_DESC cd,
+ int opindex,
+ const char ** strp,
+ CGEN_FIELDS * fields)
{
const char * errmsg = NULL;
/* Used by scalar operands that still need to be parsed. */
; Assembler initialization C code
; Code is appended during processing.
-(define -asm-init-code "")
+(define /asm-init-code "")
(define (add-asm-init code)
- (set! -asm-init-code (string-append -asm-init-code code))
+ (set! /asm-init-code (string-append /asm-init-code code))
)
; Return C code to define the assembler init function.
; This is called after opcode_open.
-(define (-gen-init-asm-fn)
+(define (/gen-init-asm-fn)
(string-append
"\
void
-@arch@_cgen_init_asm (cd)
- CGEN_CPU_DESC cd;
+@arch@_cgen_init_asm (CGEN_CPU_DESC cd)
{
@arch@_cgen_init_opcode_table (cd);
@arch@_cgen_init_ibld_table (cd);
cd->parse_handlers = & @arch@_cgen_parse_handlers[0];
cd->parse_operand = @arch@_cgen_parse_operand;
+#ifdef CGEN_ASM_INIT_HOOK
+CGEN_ASM_INIT_HOOK
+#endif
"
- -asm-init-code
+ /asm-init-code
"}\n\n"
)
)
"\n"
(lambda () (gen-extra-asm.c (opc-file-path) (current-arch-name)))
"\n"
- -gen-parse-switch
+ /gen-parse-switch
(lambda () (gen-handler-table "parse" opc-parse-handlers))
- -gen-init-asm-fn
+ /gen-init-asm-fn
)
)
\f
; Disassembler support.
-(define (-gen-print-switch)
+(define (/gen-print-switch)
(logit 2 "Generating print switch ...\n")
(string-list
"\
void @arch@_cgen_print_operand
- PARAMS ((CGEN_CPU_DESC, int, PTR, CGEN_FIELDS *,
- void const *, bfd_vma, int));
+ (CGEN_CPU_DESC, int, PTR, CGEN_FIELDS *, void const *, bfd_vma, int);
/* Main entry point for printing operands.
XINFO is a `void *' and not a `disassemble_info *' to not put a requirement
the handlers. */
void
-@arch@_cgen_print_operand (cd, opindex, xinfo, fields, attrs, pc, length)
- CGEN_CPU_DESC cd;
- int opindex;
- PTR xinfo;
- CGEN_FIELDS *fields;
- void const *attrs ATTRIBUTE_UNUSED;
- bfd_vma pc;
- int length;
+@arch@_cgen_print_operand (CGEN_CPU_DESC cd,
+ int opindex,
+ void * xinfo,
+ CGEN_FIELDS *fields,
+ void const *attrs ATTRIBUTE_UNUSED,
+ bfd_vma pc,
+ int length)
{
- disassemble_info *info = (disassemble_info *) xinfo;
+ disassemble_info *info = (disassemble_info *) xinfo;
switch (opindex)
{
; Disassembler initialization C code.
; Code is appended during processing.
-(define -dis-init-code "")
+(define /dis-init-code "")
(define (add-dis-init code)
- (set! -dis-init-code (string-append -dis-init-code code))
+ (set! /dis-init-code (string-append /dis-init-code code))
)
; Return C code to define the disassembler init function.
-(define (-gen-init-dis-fn)
+(define (/gen-init-dis-fn)
(string-append
"
void
-@arch@_cgen_init_dis (cd)
- CGEN_CPU_DESC cd;
+@arch@_cgen_init_dis (CGEN_CPU_DESC cd)
{
@arch@_cgen_init_opcode_table (cd);
@arch@_cgen_init_ibld_table (cd);
cd->print_handlers = & @arch@_cgen_print_handlers[0];
cd->print_operand = @arch@_cgen_print_operand;
"
- -dis-init-code
+ /dis-init-code
"}\n\n"
)
)
"\n"
(lambda () (gen-extra-dis.c (opc-file-path) (current-arch-name)))
"\n"
- -gen-print-switch
+ /gen-print-switch
(lambda () (gen-handler-table "print" opc-print-handlers))
- -gen-init-dis-fn
+ /gen-init-dis-fn
)
)