aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/tree-sra.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/tree-sra.c')
-rw-r--r--gcc-4.9/gcc/tree-sra.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/tree-sra.c b/gcc-4.9/gcc/tree-sra.c
index 535df57c0..6a337f31d 100644
--- a/gcc-4.9/gcc/tree-sra.c
+++ b/gcc-4.9/gcc/tree-sra.c
@@ -1094,6 +1094,11 @@ build_access_from_expr_1 (tree expr, gimple stmt, bool write)
"component.");
return NULL;
}
+ if (TREE_THIS_VOLATILE (expr))
+ {
+ disqualify_base_of_expr (expr, "part of a volatile reference.");
+ return NULL;
+ }
switch (TREE_CODE (expr))
{