]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
function.c (assign_parm_find_data_types): Set passed_mode and nominal_mode to the...
authorYufeng Zhang <yufeng.zhang@arm.com>
Tue, 27 Aug 2013 02:45:17 +0000 (02:45 +0000)
committerYufeng Zhang <yufeng@gcc.gnu.org>
Tue, 27 Aug 2013 02:45:17 +0000 (02:45 +0000)
gcc/
* function.c (assign_parm_find_data_types): Set passed_mode and
nominal_mode to the TYPE_MODE of nominal_type for the built
pointer type in case of the struct-pass-by-reference.

From-SVN: r202014

gcc/ChangeLog
gcc/function.c

index 5bb88ea63d67955680476438d82e0679431002b7..4324742c35ebfcb4a499d7f83e5d6d4a8f2a6cec 100644 (file)
@@ -1,3 +1,9 @@
+2013-08-27  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * function.c (assign_parm_find_data_types): Set passed_mode and
+       nominal_mode to the TYPE_MODE of nominal_type for the built
+       pointer type in case of the struct-pass-by-reference.
+
 2013-08-26  Joern Rennecke  <joern.rennecke@embecosm.com>
 
        * config/avr/avr-stdint.h (INT16_TYPE): Change default to "int".
index 4685cb02727344d2cb11a0751d5f3461428ec741..c1550a25393d0ee24ced28f5a02c7ac49512ae61 100644 (file)
@@ -2386,7 +2386,7 @@ assign_parm_find_data_types (struct assign_parm_data_all *all, tree parm,
     {
       passed_type = nominal_type = build_pointer_type (passed_type);
       data->passed_pointer = true;
-      passed_mode = nominal_mode = Pmode;
+      passed_mode = nominal_mode = TYPE_MODE (nominal_type);
     }
 
   /* Find mode as it is passed by the ABI.  */