Index: opcodes/s390-mkopc.c |
diff --git a/opcodes/s390-mkopc.c b/opcodes/s390-mkopc.c |
index b3f13ab5368590a559b705a4814bf8e951122d1b..872cf8cd730e60455a159fbffbd6a96692c51ca1 100644 |
--- a/opcodes/s390-mkopc.c |
+++ b/opcodes/s390-mkopc.c |
@@ -1,5 +1,5 @@ |
/* s390-mkopc.c -- Generates opcode table out of s390-opc.txt |
- Copyright 2000, 2001, 2003, 2005, 2007, 2008 Free Software Foundation, Inc. |
+ Copyright 2000-2013 Free Software Foundation, Inc. |
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). |
This file is part of the GNU opcodes library. |
@@ -39,7 +39,8 @@ enum s390_opcode_cpu_val |
S390_OPCODE_Z9_109, |
S390_OPCODE_Z9_EC, |
S390_OPCODE_Z10, |
- S390_OPCODE_Z196 |
+ S390_OPCODE_Z196, |
+ S390_OPCODE_ZEC12 |
}; |
struct op_struct |
@@ -49,7 +50,7 @@ struct op_struct |
char format[16]; |
int mode_bits; |
int min_cpu; |
- |
+ |
unsigned long long sort_value; |
int no_nibbles; |
}; |
@@ -275,7 +276,7 @@ insertExpandedMnemonic (char *opcode, char *mnemonic, char *format, |
fprintf (stderr, "Malformed mnemonic: %s\n", mnemonic); |
} |
-static char file_header[] = |
+static const char file_header[] = |
"/* The opcode table. This file was generated by s390-mkopc.\n\n" |
" The format of the opcode table is:\n\n" |
" NAME OPCODE MASK OPERANDS\n\n" |
@@ -297,7 +298,7 @@ dumpTable (void) |
int ix; |
/* Write hash table entries (slots). */ |
- printf (file_header); |
+ printf ("%s", file_header); |
for (ix = 0; ix < no_ops; ix++) |
{ |
@@ -305,7 +306,7 @@ dumpTable (void) |
for (str = op_array[ix].opcode; *str != 0; str++) |
if (*str == '?') |
*str = '0'; |
- printf ("OP%i(0x%sLL), ", |
+ printf ("OP%i(0x%sLL), ", |
op_array[ix].no_nibbles*4, op_array[ix].opcode); |
printf ("MASK_%s, INSTR_%s, ", |
op_array[ix].format, op_array[ix].format); |
@@ -325,7 +326,7 @@ int |
main (void) |
{ |
char currentLine[256]; |
- |
+ |
createTable (); |
/* Read opcode descriptions from `stdin'. For each mnemonic, |
@@ -342,7 +343,7 @@ main (void) |
int mode_bits; |
char *str; |
- if (currentLine[0] == '#') |
+ if (currentLine[0] == '#' || currentLine[0] == '\n') |
continue; |
memset (opcode, 0, 8); |
if (sscanf (currentLine, "%15s %15s %15s \"%79[^\"]\" %15s %15s", |
@@ -365,6 +366,8 @@ main (void) |
min_cpu = S390_OPCODE_Z10; |
else if (strcmp (cpu_string, "z196") == 0) |
min_cpu = S390_OPCODE_Z196; |
+ else if (strcmp (cpu_string, "zEC12") == 0) |
+ min_cpu = S390_OPCODE_ZEC12; |
else { |
fprintf (stderr, "Couldn't parse cpu string %s\n", cpu_string); |
exit (1); |