diff options
author | Nick Clifton <nickc@redhat.com> | 2006-03-03 15:57:43 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2006-03-03 15:57:43 +0000 |
commit | c7d41dc5a0b485f667749ea4f2285397b85273cf (patch) | |
tree | 523ade31a72ecef19155f7c6b039c66d91cb6c39 /cpu/xc16x.opc | |
parent | 4cdc7696f5ce43e61bb7e234ed10b2ad03fca9e8 (diff) | |
download | binutils-c7d41dc5a0b485f667749ea4f2285397b85273cf.zip binutils-c7d41dc5a0b485f667749ea4f2285397b85273cf.tar.gz binutils-c7d41dc5a0b485f667749ea4f2285397b85273cf.tar.bz2 |
Fix parseing functions to return an error message if the parse failed
Diffstat (limited to 'cpu/xc16x.opc')
-rw-r--r-- | cpu/xc16x.opc | 68 |
1 files changed, 44 insertions, 24 deletions
diff --git a/cpu/xc16x.opc b/cpu/xc16x.opc index 8d0d295..29eaff3 100644 --- a/cpu/xc16x.opc +++ b/cpu/xc16x.opc @@ -59,8 +59,11 @@ parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, long *valuep ATTRIBUTE_UNUSED) { if (**strp == '#') - ++*strp; - return NULL; + { + ++*strp; + return NULL; + } + return _("Missing '#' prefix"); } /* Handle '.' prefixes (i.e. skip over them). */ @@ -72,11 +75,14 @@ parse_dot (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, long *valuep ATTRIBUTE_UNUSED) { if (**strp == '.') - ++*strp; - return NULL; + { + ++*strp; + return NULL; + } + return _("Missing '.' prefix"); } -/* Handle '.' prefixes (i.e. skip over them). */ +/* Handle 'pof:' prefixes (i.e. skip over them). */ static const char * parse_pof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, @@ -84,12 +90,15 @@ parse_pof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, int opindex ATTRIBUTE_UNUSED, long *valuep ATTRIBUTE_UNUSED) { - if (!strncasecmp (*strp, "pof:", 4)) - *strp += 4; - return NULL; + if (strncasecmp (*strp, "pof:", 4) == 0) + { + *strp += 4; + return NULL; + } + return _("Missing 'pof:' prefix"); } -/* Handle '.' prefixes (i.e. skip over them). */ +/* Handle 'pag:' prefixes (i.e. skip over them). */ static const char * parse_pag (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, @@ -97,33 +106,44 @@ parse_pag (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, int opindex ATTRIBUTE_UNUSED, long *valuep ATTRIBUTE_UNUSED) { - if (!strncasecmp (*strp, "pag:", 4)) - *strp += 4; - return NULL; + if (strncasecmp (*strp, "pag:", 4) == 0) + { + *strp += 4; + return NULL; + } + return _("Missing 'pag:' prefix"); } /* Handle 'sof' prefixes (i.e. skip over them). */ + static const char * parse_sof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, const char **strp, int opindex ATTRIBUTE_UNUSED, long *valuep ATTRIBUTE_UNUSED) { - if (!strncasecmp (*strp, "sof:", 4)) - *strp += 4; - return NULL; + if (strncasecmp (*strp, "sof:", 4) == 0) + { + *strp += 4; + return NULL; + } + return _("Missing 'sof:' prefix"); } /* Handle 'seg' prefixes (i.e. skip over them). */ + static const char * parse_seg (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, const char **strp, int opindex ATTRIBUTE_UNUSED, long *valuep ATTRIBUTE_UNUSED) { - if (!strncasecmp (*strp, "seg:", 4)) - *strp += 4; - return NULL; + if (strncasecmp (*strp, "seg:", 4) == 0) + { + *strp += 4; + return NULL; + } + return _("Missing 'seg:' prefix"); } /* -- */ @@ -141,7 +161,7 @@ parse_seg (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, } \ while (0) -/* Handle '.' prefixes as operands. */ +/* Print a 'pof:' prefix to an operand. */ static void print_pof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, @@ -153,7 +173,7 @@ print_pof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, { } -/* Handle '.' prefixes as operands. */ +/* Print a 'pag:' prefix to an operand. */ static void print_pag (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, @@ -165,7 +185,7 @@ print_pag (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, { } -/* Handle '.' prefixes as operands. */ +/* Print a 'sof:' prefix to an operand. */ static void print_sof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, @@ -180,7 +200,7 @@ print_sof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, info->fprintf_func (info->stream, "sof:"); } -/* Handle '.' prefixes as operands. */ +/* Print a 'seg:' prefix to an operand. */ static void print_seg (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, @@ -195,7 +215,7 @@ print_seg (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, info->fprintf_func (info->stream, "seg:"); } -/* Handle '#' prefixes as operands. */ +/* Print a '#' prefix to an operand. */ static void print_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, @@ -210,7 +230,7 @@ print_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, info->fprintf_func (info->stream, "#"); } -/* Handle '.' prefixes as operands. */ +/* Print a '.' prefix to an operand. */ static void print_dot (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, |