diff options
| author | jamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-10-02 17:11:24 +0000 |
|---|---|---|
| committer | jamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-10-02 17:11:24 +0000 |
| commit | a49170e326049f7735abd75b56d49cd7edc1cf10 (patch) | |
| tree | 7d6c69f55294d66d4b2cf492b922fa70dec5a0f1 | |
| parent | 1a46491220ef9e8537ab60d7043b89f7ca4781eb (diff) | |
| download | ppe42-gcc-a49170e326049f7735abd75b56d49cd7edc1cf10.tar.gz ppe42-gcc-a49170e326049f7735abd75b56d49cd7edc1cf10.zip | |
2014-10-02 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/63375
* tree-sra.c (build_access_from_expr_1): Disqualify volatile
references.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@215806 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/tree-sra.c | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7029b0b9c16..50cb1c3f541 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-10-02 Martin Jambor <mjambor@suse.cz> + + PR tree-optimization/63375 + * tree-sra.c (build_access_from_expr_1): Disqualify volatile + references. + 2014-10-01 Jakub Jelinek <jakub@redhat.com> PR debug/63342 diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index ffef13d16ff..13f6c4a8e63 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -1092,6 +1092,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)) { |

