summaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-common.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2010-11-13 11:29:04 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2010-11-13 11:29:04 +0100
commitc28d1d9b76e239a09711f983a39378ca521b498a (patch)
tree87faea60e6c62e4aef9c6bd2f88b0461dc3739bd /gcc/fortran/trans-common.c
parent2f413185c295b3cf6baabb576bf05209572bf952 (diff)
downloadgcc-c28d1d9b76e239a09711f983a39378ca521b498a.tar.gz
re PR fortran/45742 (VOLATILE has no effect)
2010-11-13 Tobias Burnus <burnus@net-b.de> PR fortran/45742 * trans-common.c (build_field): Add TREE_SIDE_EFFECTS for * volatile. * trans-decl.c (gfc_finish_var_decl): Ditto. (create_function_arglist): Handle volatile dummy arguments. 2010-11-13 Tobias Burnus <burnus@net-b.de> PR fortran/45742 * gfortran.dg/volatile12.f90: New. From-SVN: r166701
Diffstat (limited to 'gcc/fortran/trans-common.c')
-rw-r--r--gcc/fortran/trans-common.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/trans-common.c b/gcc/fortran/trans-common.c
index 486fbbbb3de..1f59a693bd7 100644
--- a/gcc/fortran/trans-common.c
+++ b/gcc/fortran/trans-common.c
@@ -322,6 +322,7 @@ build_field (segment_info *h, tree union_type, record_layout_info rli)
{
tree new_type;
TREE_THIS_VOLATILE (field) = 1;
+ TREE_SIDE_EFFECTS (field) = 1;
new_type = build_qualified_type (TREE_TYPE (field), TYPE_QUAL_VOLATILE);
TREE_TYPE (field) = new_type;
}