From: jamborm Date: Thu, 2 Oct 2014 16:49:14 +0000 (+0000) Subject: 2014-10-02 Martin Jambor X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=680e234c3a259ae892dbc019e711ba6745533790;p=thirdparty%2Fgcc.git 2014-10-02 Martin Jambor 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/trunk@215804 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6546ff138e28..e330d18ae4b4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-10-02 Martin Jambor + + PR tree-optimization/63375 + * tree-sra.c (build_access_from_expr_1): Disqualify volatile + references. + 2014-10-02 Olivier Hainque * Makefile.in (CROSS): Define, to @CROSS. diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 8259dbaa316d..fb24114fa6b7 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -1064,6 +1064,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)) {