aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>1997-11-05 00:50:18 +0000
committerJim Wilson <wilson@gcc.gnu.org>1997-11-04 16:50:18 -0800
commit31c8581d25e55cd1a2507e215b5b6046919b2ab3 (patch)
treebc3a9ef3c7a0fa381a374b7b091a81eb3517c468
parent7636d567433a0cc3ecbf07ff3c953f7d5b6088e4 (diff)
downloadgcc-31c8581d25e55cd1a2507e215b5b6046919b2ab3.zip
gcc-31c8581d25e55cd1a2507e215b5b6046919b2ab3.tar.gz
gcc-31c8581d25e55cd1a2507e215b5b6046919b2ab3.tar.bz2
Fix nightly testing mips64-elf build failure.
* dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode. Convert CCmode to word_mode before calling GET_MODE_SIZE. From-SVN: r16326
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/dwarf2out.c11
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3a1c4d7..2f981e9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
Tue Nov 4 12:30:28 1997 Jim Wilson <wilson@cygnus.com>
+ * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
+ Convert CCmode to word_mode before calling GET_MODE_SIZE.
+
* acconfig.h (HAVE_INTTYPES_H): Undef.
* configure.in (inttypes.h): Check for conflicts between sys/types.h
and inttypes.h, and verify that intmax_t is defined.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index c8a6c74..d37bbca 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -520,6 +520,7 @@ expand_builtin_dwarf_reg_size (reg_tree, target)
tree reg_tree;
rtx target;
{
+ enum machine_mode mode;
int size;
struct reg_size_range ranges[5];
tree t, t2;
@@ -535,7 +536,15 @@ expand_builtin_dwarf_reg_size (reg_tree, target)
if (DWARF_FRAME_REGNUM (i) == DWARF_FRAME_RETURN_COLUMN)
continue;
- size = GET_MODE_SIZE (reg_raw_mode[i]);
+ mode = reg_raw_mode[i];
+ /* CCmode is arbitrarily given a size of 4 bytes. It is more useful
+ to use the same size as word_mode, since that reduces the number
+ of ranges we need. It should not matter, since the result should
+ never be used for a condition code register anyways. */
+ if (mode == CCmode)
+ mode = word_mode;
+ size = GET_MODE_SIZE (mode);
+
if (size != last_size)
{
ranges[n_ranges].beg = i;