From d2c9d80d0cbc8721e00a2c82c82d9f3c2a69b61f Mon Sep 17 00:00:00 2001 From: pinskia Date: Mon, 6 Aug 2007 03:24:19 +0000 Subject: [PATCH] 2008-08-05 Andrew Pinski PR middle-end/32988 * tree.c (build2_stat): Instead of checking for INTEGER_TYPE, check for INTEGRAL_TYPE_P. 2007-08-05 Andrew Pinski PR middle-end/32988 * gcc.c-torture/compile/pr32988.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127237 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.c-torture/compile/pr32988.c | 20 ++++++++++++++++++++ gcc/tree.c | 2 +- 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr32988.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3f0d97ae273..256381b6738 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-08-05 Andrew Pinski + + PR middle-end/32988 + * tree.c (build2_stat): Instead of checking for INTEGER_TYPE, check + for INTEGRAL_TYPE_P. + 2008-08-05 Paolo Bonzini * configure.ac: Remove --enable-checking=df from default settings. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 65dc8a7058b..5324d97cb46 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2007-08-05 Andrew Pinski + PR middle-end/32988 + * gcc.c-torture/compile/pr32988.c: New test. + +2007-08-05 Andrew Pinski + * gcc.dg/sms-antideps.c: Add a "return 0" to the end of main. 2007-08-05 Volker Reichelt 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 00000000000..b62004c6a6a --- /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 f45f71bd9ee..c836dc7a415 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); -- 2.11.0