Patchwork [6/7] gcc_4.5.1: add pr45052.patch

login
register
mail settings
Submitter Ilya Yanok
Date July 19, 2011, 1 a.m.
Message ID <1311037258-11777-7-git-send-email-yanok@emcraft.com>
Download mbox | patch
Permalink /patch/7823/
State New, archived
Headers show

Comments

Ilya Yanok - July 19, 2011, 1 a.m.
Add fix for PR45052 as proposed in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45052

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
---
 meta/recipes-devtools/gcc/gcc-4.5.1.inc           |    1 +
 meta/recipes-devtools/gcc/gcc-4.5.1/pr45052.patch |   30 +++++++++++++++++++++
 2 files changed, 31 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.5.1/pr45052.patch

Patch

diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1.inc b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
index 2473775..03dca08 100644
--- a/meta/recipes-devtools/gcc/gcc-4.5.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
@@ -62,6 +62,7 @@  SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
 	   file://pr44290.patch \
 	   file://pr44606.patch \
 	   file://pr45094.patch \
+	   file://pr45052.patch \
 	  "
 	
 SRC_URI_append_sh3  = " file://sh3-installfix-fixheaders.patch;patch=1 "
diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/pr45052.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/pr45052.patch
new file mode 100644
index 0000000..855a823
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1/pr45052.patch
@@ -0,0 +1,30 @@ 
+From 138f1af2d77d56762a2c2af4759efd53c275b67e Mon Sep 17 00:00:00 2001
+From: Ilya Yanok <yanok@emcraft.com>
+Date: Mon, 21 Mar 2011 00:49:43 +0100
+Subject: [PATCH 5/6] PR45052
+
+---
+ gcc/ipa-pure-const.c |    7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c
+index 166dabb..da9d5d6 100644
+--- a/gcc/ipa-pure-const.c
++++ b/gcc/ipa-pure-const.c
+@@ -416,6 +416,13 @@ check_stmt (gimple_stmt_iterator *gsip, funct_state local, bool ipa)
+       print_gimple_stmt (dump_file, stmt, 0, 0);
+     }
+ 
++  if (gimple_has_volatile_ops (stmt))
++    {
++      local->pure_const_state = IPA_NEITHER;
++      if (dump_file)
++	fprintf (dump_file, "    Volatile stmt is not const/pure\n");
++    }
++
+   /* Look for loads and stores.  */
+   walk_stmt_load_store_ops (stmt, local, check_load, check_store);
+ 
+-- 
+1.7.4
+