]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/blob
58010b15af005713ecf67830816e37320df56b7c
[thirdparty/openembedded/openembedded-core-contrib.git] /
1 From 20a8b6ba99d25394d9d4b958a8ecc171fe3d263b Mon Sep 17 00:00:00 2001
2 From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
3 Date: Thu, 21 Apr 2011 14:18:54 +0000
4 Subject: [PATCH 161/200] * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
5
6 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172829 138bc75d-0d04-0410-961f-82ee72b054a4
7
8 index e60dc92..9a94f06 100644
9 --- a/gcc/gimple.c
10 +++ b/gcc/gimple.c
11 @@ -1405,7 +1405,8 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op,
12 for (i = 0; i < gimple_call_num_args (stmt); i++)
13 {
14 if (wi)
15 - wi->val_only = is_gimple_reg_type (gimple_call_arg (stmt, i));
16 + wi->val_only
17 + = is_gimple_reg_type (TREE_TYPE (gimple_call_arg (stmt, i)));
18 ret = walk_tree (gimple_call_arg_ptr (stmt, i), callback_op, wi,
19 pset);
20 if (ret)
21 @@ -1417,7 +1418,8 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op,
22 if (wi)
23 {
24 wi->is_lhs = true;
25 - wi->val_only = is_gimple_reg_type (gimple_call_lhs (stmt));
26 + wi->val_only
27 + = is_gimple_reg_type (TREE_TYPE (gimple_call_lhs (stmt)));
28 }
29
30 ret = walk_tree (gimple_call_lhs_ptr (stmt), callback_op, wi, pset);
31 new file mode 100644
32 index 0000000..24527a5
33 --- /dev/null
34 +++ b/gcc/testsuite/gnat.dg/volatile5.adb
35 @@ -0,0 +1,16 @@
36 +-- { dg-do compile }
37 +
38 +with Volatile5_Pkg; use Volatile5_Pkg;
39 +
40 +procedure Volatile5 is
41 +
42 + A : Rec;
43 +
44 + procedure Proc is
45 + begin
46 + A := F;
47 + end;
48 +
49 +begin
50 + Proc;
51 +end;
52 diff --git a/gcc/testsuite/gnat.dg/volatile5_pkg.ads b/gcc/testsuite/gnat.dg/volatile5_pkg.ads
53 new file mode 100644
54 index 0000000..71a0c80
55 --- /dev/null
56 +++ b/gcc/testsuite/gnat.dg/volatile5_pkg.ads
57 @@ -0,0 +1,11 @@
58 +package Volatile5_Pkg is
59 +
60 + type Rec is record
61 + I : Integer;
62 + end record;
63 + pragma Volatile(Rec);
64 +
65 + function F return Rec;
66 +
67 +end Volatile5_Pkg;
68 +--
69 \ No newline at end of file
70 --
71 1.7.0.4
72