aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2003-05-15 19:08:25 +0000
committerJim Blandy <jimb@codesourcery.com>2003-05-15 19:08:25 +0000
commitac5e8cb29c19dcd286d78ad5cfa84dd6bcbf63d1 (patch)
treede63357f9ac31b98e536024db1a18af206b2e34e /include
parentf2669f5d16ddafa2e92c785aeae2fb3899238d27 (diff)
downloadnewlib-ac5e8cb29c19dcd286d78ad5cfa84dd6bcbf63d1.zip
newlib-ac5e8cb29c19dcd286d78ad5cfa84dd6bcbf63d1.tar.gz
newlib-ac5e8cb29c19dcd286d78ad5cfa84dd6bcbf63d1.tar.bz2
libiberty/ChangeLog:
2003-05-14 Jim Blandy <jimb@redhat.com> * hex.c (_hex_value): Make this unsigned. (hex_value): Update documentation for new return type. hex_value now expands to an unsigned int expression, to avoid unexpected sign extension when we store it in a bfd_vma, which is larger than int on some platforms. * functions.texi: Regenerated. include/ChangeLog: 2003-05-14 Jim Blandy <jimb@redhat.com> * libiberty.h (hex_value): Make the value an unsigned int, to avoid unexpected sign-extension when cast to unsigned types larger than int --- like bfd_vma, on some platforms. (_hex_value): Update declaration.
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog7
-rw-r--r--include/libiberty.h4
2 files changed, 9 insertions, 2 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index b88ca78..b7607af 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,10 @@
+2003-05-15 Jim Blandy <jimb@redhat.com>
+
+ * libiberty.h (hex_value): Make the value an unsigned int, to
+ avoid unexpected sign-extension when cast to unsigned types larger
+ than int --- like bfd_vma, on some platforms.
+ (_hex_value): Update declaration.
+
2003-05-09 Alan Modra <amodra@bigpond.net.au>
* xtensa-isa-internal.h (xtensa_isa_module_struct): Remove const on
diff --git a/include/libiberty.h b/include/libiberty.h
index 676ceab..761b2cf 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -254,12 +254,12 @@ extern double physmem_available PARAMS ((void));
#define _hex_array_size 256
#define _hex_bad 99
-extern const char _hex_value[_hex_array_size];
+extern const unsigned char _hex_value[_hex_array_size];
extern void hex_init PARAMS ((void));
#define hex_p(c) (hex_value (c) != _hex_bad)
/* If you change this, note well: Some code relies on side effects in
the argument being performed exactly once. */
-#define hex_value(c) (_hex_value[(unsigned char) (c)])
+#define hex_value(c) ((unsigned int) _hex_value[(unsigned char) (c)])
/* Definitions used by the pexecute routine. */