cfgexpand.c (convert_debug_memory_address): Allow any valid pointer type, not just...
authorDJ Delorie <dj@redhat.com>
Thu, 12 Jan 2012 21:37:03 +0000 (16:37 -0500)
committerDJ Delorie <dj@gcc.gnu.org>
Thu, 12 Jan 2012 21:37:03 +0000 (16:37 -0500)
* cfgexpand.c (convert_debug_memory_address): Allow any valid
pointer type, not just the default pointer type.

From-SVN: r183141

gcc/ChangeLog
gcc/cfgexpand.c

index 837387da832521c7846997c70da7534a7eb11509..60830ae9436a0d9368616d2e61f51c4db56b3023 100644 (file)
@@ -1,3 +1,8 @@
+2012-01-12  DJ Delorie  <dj@redhat.com>
+
+       * cfgexpand.c (convert_debug_memory_address): Allow any valid
+       pointer type, not just the default pointer type.
+
 2012-01-09  Richard Henderson  <rth@redhat.com>
            Denis Chertykov  <chertykov@gmail.com>
 
index 2b2e464791cf2abf1afd71f1867e5209ed659858..579c3cde0112f8ceaebb4f7de8a580d568013c3a 100644 (file)
@@ -2493,10 +2493,8 @@ convert_debug_memory_address (enum machine_mode mode, rtx x,
   gcc_assert (xmode == mode || xmode == VOIDmode);
 #else
   rtx temp;
-  enum machine_mode address_mode = targetm.addr_space.address_mode (as);
-  enum machine_mode pointer_mode = targetm.addr_space.pointer_mode (as);
 
-  gcc_assert (mode == address_mode || mode == pointer_mode);
+  gcc_assert (targetm.addr_space.valid_pointer_mode (mode, as));
 
   if (GET_MODE (x) == mode || GET_MODE (x) == VOIDmode)
     return x;