aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <andrew_pinski@playstation.sony.com>2007-08-06 03:24:19 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2007-08-05 20:24:19 -0700
commit49271fc0e20670fc5a7c1588c48af8280f57763b (patch)
treea7fdd952c56e91a7fd24e406f1c8d6909b505ad6 /gcc
parent085f094f221211db475c4e025880539ce687394b (diff)
downloadgcc-49271fc0e20670fc5a7c1588c48af8280f57763b.zip
gcc-49271fc0e20670fc5a7c1588c48af8280f57763b.tar.gz
gcc-49271fc0e20670fc5a7c1588c48af8280f57763b.tar.bz2
[multiple changes]
2008-08-05 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/32988 * tree.c (build2_stat): Instead of checking for INTEGER_TYPE, check for INTEGRAL_TYPE_P. 2007-08-05 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/32988 * gcc.c-torture/compile/pr32988.c: New test. From-SVN: r127237
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr32988.c20
-rw-r--r--gcc/tree.c2
4 files changed, 32 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3f0d97a..256381b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-08-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR middle-end/32988
+ * tree.c (build2_stat): Instead of checking for INTEGER_TYPE, check
+ for INTEGRAL_TYPE_P.
+
2008-08-05 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Remove --enable-checking=df from default settings.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 65dc8a7..5324d97 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2007-08-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
+ PR middle-end/32988
+ * gcc.c-torture/compile/pr32988.c: New test.
+
+2007-08-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
* gcc.dg/sms-antideps.c: Add a "return 0" to the end of main.
2007-08-05 Volker Reichelt <v.reichelt@netcologne.de>
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr32988.c b/gcc/testsuite/gcc.c-torture/compile/pr32988.c
new file mode 100644
index 0000000..b62004c
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr32988.c
@@ -0,0 +1,20 @@
+enum zone_type {
+ ZONE_DMA,
+ ZONE_NORMAL,
+ ZONE_MOVABLE,
+ MAX_NR_ZONES
+};
+static unsigned long arch_zone_lowest_possible_pfn[MAX_NR_ZONES];
+static unsigned long arch_zone_highest_possible_pfn[MAX_NR_ZONES];
+void free_area_init_nodes(unsigned long *max_zone_pfn)
+{
+ enum zone_type i;
+ for (i = 1; i < MAX_NR_ZONES; i++)
+ {
+ if (i == ZONE_MOVABLE)
+ continue;
+ unsigned long _x = max_zone_pfn[i];
+ unsigned long _y = arch_zone_lowest_possible_pfn[i];
+ arch_zone_highest_possible_pfn[i] = _x > _y ? _x : _y;
+ }
+}
diff --git a/gcc/tree.c b/gcc/tree.c
index f45f71b..c836dc7 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -3077,7 +3077,7 @@ build2_stat (enum tree_code code, tree tt, tree arg0, tree arg1 MEM_STAT_DECL)
if (code == POINTER_PLUS_EXPR && arg0 && arg1 && tt)
gcc_assert (POINTER_TYPE_P (tt) && POINTER_TYPE_P (TREE_TYPE (arg0))
- && TREE_CODE (TREE_TYPE (arg1)) == INTEGER_TYPE
+ && INTEGRAL_TYPE_P (TREE_TYPE (arg1))
&& useless_type_conversion_p (sizetype, TREE_TYPE (arg1)));
t = make_node_stat (code PASS_MEM_STAT);