summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0161-gimple.c-walk_gimple_op-GIMPLE_CALL-Fix-couple-of-ov.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0161-gimple.c-walk_gimple_op-GIMPLE_CALL-Fix-couple-of-ov.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0161-gimple.c-walk_gimple_op-GIMPLE_CALL-Fix-couple-of-ov.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0161-gimple.c-walk_gimple_op-GIMPLE_CALL-Fix-couple-of-ov.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0161-gimple.c-walk_gimple_op-GIMPLE_CALL-Fix-couple-of-ov.patch
new file mode 100644
index 000000000..58010b15a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0161-gimple.c-walk_gimple_op-GIMPLE_CALL-Fix-couple-of-ov.patch
@@ -0,0 +1,72 @@
+From 20a8b6ba99d25394d9d4b958a8ecc171fe3d263b Mon Sep 17 00:00:00 2001
+From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Thu, 21 Apr 2011 14:18:54 +0000
+Subject: [PATCH 161/200] * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172829 138bc75d-0d04-0410-961f-82ee72b054a4
+
+index e60dc92..9a94f06 100644
+--- a/gcc/gimple.c
++++ b/gcc/gimple.c
+@@ -1405,7 +1405,8 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op,
+ for (i = 0; i < gimple_call_num_args (stmt); i++)
+ {
+ if (wi)
+- wi->val_only = is_gimple_reg_type (gimple_call_arg (stmt, i));
++ wi->val_only
++ = is_gimple_reg_type (TREE_TYPE (gimple_call_arg (stmt, i)));
+ ret = walk_tree (gimple_call_arg_ptr (stmt, i), callback_op, wi,
+ pset);
+ if (ret)
+@@ -1417,7 +1418,8 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op,
+ if (wi)
+ {
+ wi->is_lhs = true;
+- wi->val_only = is_gimple_reg_type (gimple_call_lhs (stmt));
++ wi->val_only
++ = is_gimple_reg_type (TREE_TYPE (gimple_call_lhs (stmt)));
+ }
+
+ ret = walk_tree (gimple_call_lhs_ptr (stmt), callback_op, wi, pset);
+new file mode 100644
+index 0000000..24527a5
+--- /dev/null
++++ b/gcc/testsuite/gnat.dg/volatile5.adb
+@@ -0,0 +1,16 @@
++-- { dg-do compile }
++
++with Volatile5_Pkg; use Volatile5_Pkg;
++
++procedure Volatile5 is
++
++ A : Rec;
++
++ procedure Proc is
++ begin
++ A := F;
++ end;
++
++begin
++ Proc;
++end;
+diff --git a/gcc/testsuite/gnat.dg/volatile5_pkg.ads b/gcc/testsuite/gnat.dg/volatile5_pkg.ads
+new file mode 100644
+index 0000000..71a0c80
+--- /dev/null
++++ b/gcc/testsuite/gnat.dg/volatile5_pkg.ads
+@@ -0,0 +1,11 @@
++package Volatile5_Pkg is
++
++ type Rec is record
++ I : Integer;
++ end record;
++ pragma Volatile(Rec);
++
++ function F return Rec;
++
++end Volatile5_Pkg;
++--
+\ No newline at end of file
+--
+1.7.0.4
+