projects
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Automatic date update in version.in
[binutils-gdb.git]
/
gas
/
messages.c
diff --git
a/gas/messages.c
b/gas/messages.c
index 57d4ed7c5e863c614b0e936fb963083945155afe..3b34466e99817cf6577206fe1394eeb1833459ef 100644
(file)
--- a/
gas/messages.c
+++ b/
gas/messages.c
@@
-1,5
+1,5
@@
/* messages.c - error reporter -
/* messages.c - error reporter -
- Copyright (C) 1987-20
17
Free Software Foundation, Inc.
+ Copyright (C) 1987-20
22
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
GAS is free software; you can redistribute it and/or modify
This file is part of GAS, the GNU Assembler.
GAS is free software; you can redistribute it and/or modify
@@
-356,22
+356,6
@@
signal_init (void)
/* Support routines. */
/* Support routines. */
-void
-sprint_value (char *buf, valueT val)
-{
- if (sizeof (val) <= sizeof (long))
- {
- sprintf (buf, "%ld", (long) val);
- return;
- }
- if (sizeof (val) <= sizeof (bfd_vma))
- {
- sprintf_vma (buf, val);
- return;
- }
- abort ();
-}
-
#define HEX_MAX_THRESHOLD 1024
#define HEX_MIN_THRESHOLD -(HEX_MAX_THRESHOLD)
#define HEX_MAX_THRESHOLD 1024
#define HEX_MIN_THRESHOLD -(HEX_MAX_THRESHOLD)
@@
-382,9
+366,15
@@
as_internal_value_out_of_range (const char *prefix,
offsetT max,
const char *file,
unsigned line,
offsetT max,
const char *file,
unsigned line,
-
int
bad)
+
bool
bad)
{
const char * err;
{
const char * err;
+ /* These buffer sizes are excessive, but better to be safe than sorry.
+ Note - these buffers are used in order to make the error message
+ string translateable. */
+ char val_buf [128];
+ char min_buf [128];
+ char max_buf [128];
if (prefix == NULL)
prefix = "";
if (prefix == NULL)
prefix = "";
@@
-396,43
+386,38
@@
as_internal_value_out_of_range (const char *prefix,
if (max <= 1)
abort ();
if (max <= 1)
abort ();
+ sprintf (val_buf, "%" BFD_VMA_FMT "d", val);
+ sprintf (min_buf, "%" BFD_VMA_FMT "d", right);
+
/* xgettext:c-format */
/* xgettext:c-format */
- err = _("%s out of domain (%d is not a multiple of %d)");
+ err = _("%s out of domain (%s is not a multiple of %s)");
+
if (bad)
if (bad)
- as_bad_where (file, line, err,
- prefix, (int) val, (int) right);
+ as_bad_where (file, line, err, prefix, val_buf, min_buf);
else
else
- as_warn_where (file, line, err,
- prefix, (int) val, (int) right);
- return;
+ as_warn_where (file, line, err, prefix, val_buf, min_buf);
}
}
-
- if ( val < HEX_MAX_THRESHOLD
- && min < HEX_MAX_THRESHOLD
- && max < HEX_MAX_THRESHOLD
- && val > HEX_MIN_THRESHOLD
- && min > HEX_MIN_THRESHOLD
- && max > HEX_MIN_THRESHOLD)
+ else if ( val < HEX_MAX_THRESHOLD
+ && min < HEX_MAX_THRESHOLD
+ && max < HEX_MAX_THRESHOLD
+ && val > HEX_MIN_THRESHOLD
+ && min > HEX_MIN_THRESHOLD
+ && max > HEX_MIN_THRESHOLD)
{
{
- /* xgettext:c-format */
- err = _("%s out of range (%d is not between %d and %d)");
+ sprintf (val_buf, "%" BFD_VMA_FMT "d", val);
+ sprintf (min_buf, "%" BFD_VMA_FMT "d", min);
+ sprintf (max_buf, "%" BFD_VMA_FMT "d", max);
+
+ /* xgettext:c-format. */
+ err = _("%s out of range (%s is not between %s and %s)");
if (bad)
if (bad)
- as_bad_where (file, line, err,
- prefix, (int) val, (int) min, (int) max);
+ as_bad_where (file, line, err, prefix, val_buf, min_buf, max_buf);
else
else
- as_warn_where (file, line, err,
- prefix, (int) val, (int) min, (int) max);
+ as_warn_where (file, line, err, prefix, val_buf, min_buf, max_buf);
}
else
{
}
else
{
- char val_buf [sizeof (val) * 3 + 2];
- char min_buf [sizeof (val) * 3 + 2];
- char max_buf [sizeof (val) * 3 + 2];
-
- if (sizeof (val) > sizeof (bfd_vma))
- abort ();
-
sprintf_vma (val_buf, (bfd_vma) val);
sprintf_vma (min_buf, (bfd_vma) min);
sprintf_vma (max_buf, (bfd_vma) max);
sprintf_vma (val_buf, (bfd_vma) val);
sprintf_vma (min_buf, (bfd_vma) min);
sprintf_vma (max_buf, (bfd_vma) max);
@@
-455,7
+440,7
@@
as_warn_value_out_of_range (const char *prefix,
const char *file,
unsigned line)
{
const char *file,
unsigned line)
{
- as_internal_value_out_of_range (prefix, value, min, max, file, line,
0
);
+ as_internal_value_out_of_range (prefix, value, min, max, file, line,
false
);
}
void
}
void
@@
-466,5
+451,5
@@
as_bad_value_out_of_range (const char *prefix,
const char *file,
unsigned line)
{
const char *file,
unsigned line)
{
- as_internal_value_out_of_range (prefix, value, min, max, file, line,
1
);
+ as_internal_value_out_of_range (prefix, value, min, max, file, line,
true
);
}
}