aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/function.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5bb88ea..4324742 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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".
diff --git a/gcc/function.c b/gcc/function.c
index 4685cb0..c1550a2 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -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. */