summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorbjh21 <bjh21@NetBSD.org>2002-03-09 13:22:52 +0000
committerbjh21 <bjh21@NetBSD.org>2002-03-09 13:22:52 +0000
commitdca4ae94d6ed60958ecd2fcf690e6caf3e2dcd36 (patch)
treef5ed6b6f6e1f987b22abbcfe2a6f9167d1e5b301 /gnu
parentd77463efdec8b970f01fc8ff01b5953d8c55195d (diff)
When checking that a potentially-unsigned enum is >= 0, assign it to an int
first. This is necessary to avoid warnings with -fshort-enums. Casting to an int really should be enough, but turns out not to be. This change will be documented in doc/HACKS.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/dist/gawk/eval.c3
-rw-r--r--gnu/dist/toolchain/bfd/bfd.c6
-rw-r--r--gnu/dist/toolchain/bfd/format.c15
-rw-r--r--gnu/dist/toolchain/gdb/target.c4
4 files changed, 19 insertions, 9 deletions
diff --git a/gnu/dist/gawk/eval.c b/gnu/dist/gawk/eval.c
index aa2e88162f1..999dbac857b 100644
--- a/gnu/dist/gawk/eval.c
+++ b/gnu/dist/gawk/eval.c
@@ -247,8 +247,9 @@ nodetype2str(type)
NODETYPE type;
{
static char buf[40];
+ int tmp;
- if (type >= Node_illegal && type <= Node_final)
+ if ((tmp = type) >= Node_illegal && type <= Node_final)
return nodetypes[(int) type];
sprintf(buf, "unknown nodetype %d", (int) type);
diff --git a/gnu/dist/toolchain/bfd/bfd.c b/gnu/dist/toolchain/bfd/bfd.c
index 3afcd3df8b5..a0096d61e55 100644
--- a/gnu/dist/toolchain/bfd/bfd.c
+++ b/gnu/dist/toolchain/bfd/bfd.c
@@ -345,11 +345,13 @@ bfd_errmsg (error_tag)
#ifndef errno
extern int errno;
#endif
+ int tmp;
+
if (error_tag == bfd_error_system_call)
return xstrerror (errno);
- if ((((int)error_tag <(int) bfd_error_no_error) ||
- ((int)error_tag > (int)bfd_error_invalid_error_code)))
+ if ((((tmp = error_tag) <(int) bfd_error_no_error) ||
+ ((tmp = error_tag) > (int)bfd_error_invalid_error_code)))
error_tag = bfd_error_invalid_error_code;/* sanity check */
return _(bfd_errmsgs [(int)error_tag]);
diff --git a/gnu/dist/toolchain/bfd/format.c b/gnu/dist/toolchain/bfd/format.c
index 6afcb60d6ed..279bbf35e07 100644
--- a/gnu/dist/toolchain/bfd/format.c
+++ b/gnu/dist/toolchain/bfd/format.c
@@ -122,10 +122,11 @@ bfd_check_format_matches (abfd, format, matching)
const bfd_target * const *target, *save_targ, *right_targ;
char **matching_vector = NULL;
int match_count;
+ int tmp;
if (!bfd_read_p (abfd) ||
- ((int)(abfd->format) < (int)bfd_unknown) ||
- ((int)(abfd->format) >= (int)bfd_type_end))
+ ((tmp = (abfd->format)) < (int)bfd_unknown) ||
+ ((tmp = (abfd->format)) >= (int)bfd_type_end))
{
bfd_set_error (bfd_error_invalid_operation);
return false;
@@ -312,9 +313,11 @@ bfd_set_format (abfd, format)
bfd *abfd;
bfd_format format;
{
+ int tmp;
+
if (bfd_read_p (abfd) ||
- ((int)abfd->format < (int)bfd_unknown) ||
- ((int)abfd->format >= (int)bfd_type_end))
+ ((tmp = abfd->format) < (int)bfd_unknown) ||
+ ((tmp = abfd->format) >= (int)bfd_type_end))
{
bfd_set_error (bfd_error_invalid_operation);
return false;
@@ -352,7 +355,9 @@ CONST char *
bfd_format_string (format)
bfd_format format;
{
- if (((int)format <(int) bfd_unknown)
+ int tmp;
+
+ if (((tmp = format) <(int) bfd_unknown)
|| ((int)format >=(int) bfd_type_end))
return "invalid";
diff --git a/gnu/dist/toolchain/gdb/target.c b/gnu/dist/toolchain/gdb/target.c
index 02ccc25da31..27294ace248 100644
--- a/gnu/dist/toolchain/gdb/target.c
+++ b/gnu/dist/toolchain/gdb/target.c
@@ -1569,7 +1569,9 @@ char *
target_signal_to_string (sig)
enum target_signal sig;
{
- if ((sig >= TARGET_SIGNAL_FIRST) && (sig <= TARGET_SIGNAL_LAST))
+ int tmp;
+
+ if (((tmp = sig) >= TARGET_SIGNAL_FIRST) && (sig <= TARGET_SIGNAL_LAST))
return signals[sig].string;
else
return signals[TARGET_SIGNAL_UNKNOWN].string;