diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2017-11-22 13:58:20 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2017-11-22 13:58:20 +0000 |
commit | f95c5b8ec19ded003649fadb0d36491deb009000 (patch) | |
tree | 2bc596ed89706f91e1b7c5fb7ebd2b6e5cbfce51 /gcc/emit-rtl.c | |
parent | 902c4e8f958707fcddf8e641edf8a586ee629319 (diff) | |
download | gcc-f95c5b8ec19ded003649fadb0d36491deb009000.zip gcc-f95c5b8ec19ded003649fadb0d36491deb009000.tar.gz gcc-f95c5b8ec19ded003649fadb0d36491deb009000.tar.bz2 |
Fix calculation of ptr_mode for MODE_PARTIAL_INT Pmode
This patch fixes a regression caused by r251469, where I'd incorrectly
converted a call to mode_for_size that sometimes needs MODE_PARTIAL_INTs.
2017-11-22 Richard Sandiford <richard.sandiford@linaro.org>
gcc/
* emit-rtl.c (init_derived_machine_modes): Make sure ptr_mode
has the same mode class as Pmode.
From-SVN: r255057
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index a076711..428e474 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -6003,7 +6003,8 @@ init_derived_machine_modes (void) byte_mode = opt_byte_mode.require (); word_mode = opt_word_mode.require (); - ptr_mode = int_mode_for_size (POINTER_SIZE, 0).require (); + ptr_mode = as_a <scalar_int_mode> + (mode_for_size (POINTER_SIZE, GET_MODE_CLASS (Pmode), 0).require ()); } /* Create some permanent unique rtl objects shared between all functions. */ |