Fix parseing functions to return an error message if the parse failed
This commit is contained in:
parent
4cdc7696f5
commit
c7d41dc5a0
@ -1,3 +1,10 @@
|
||||
2006-03-03 Shrirang Khisti <shrirangk@kpitcummins.com)
|
||||
|
||||
* xc16x.opc (parse_hash): Return NULL if the input was parsed or
|
||||
an error message otherwise.
|
||||
(parse_dot, parse_pof, parse_pag, parse_sof, parse_seg): Likewise.
|
||||
Fix up comments to correctly describe the functions.
|
||||
|
||||
2006-02-24 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.cpu (RL_TYPE): New attribute, with macros.
|
||||
|
3374
cpu/xc16x.cpu
3374
cpu/xc16x.cpu
File diff suppressed because it is too large
Load Diff
@ -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,
|
||||
|
@ -1,3 +1,9 @@
|
||||
2006-03-03 Shrirang Khisti <shrirangk@kpitcummins.com)
|
||||
|
||||
* xc16x-asm.c: Regenerate.
|
||||
* xc16x-dis.c: Regenerate.
|
||||
* xc16x-ibld.c: Regenerate.
|
||||
|
||||
2006-02-27 Carlos O'Donell <carlos@codesourcery.com>
|
||||
|
||||
* po/Make-in: Add html target.
|
||||
|
@ -58,8 +58,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). */
|
||||
@ -71,11 +74,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,
|
||||
@ -83,12 +89,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,
|
||||
@ -96,33 +105,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");
|
||||
}
|
||||
/* -- */
|
||||
|
||||
|
@ -72,7 +72,7 @@ static int read_insn
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Handle '.' prefixes as operands. */
|
||||
/* Print a 'pof:' prefix to an operand. */
|
||||
|
||||
static void
|
||||
print_pof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
@ -84,7 +84,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,
|
||||
@ -96,7 +96,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,
|
||||
@ -111,7 +111,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,
|
||||
@ -126,7 +126,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,
|
||||
@ -141,7 +141,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,
|
||||
|
Loading…
Reference in New Issue
Block a user