diff options
author | Richard Guenther <rguenther@suse.de> | 2012-04-13 09:24:28 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2012-04-13 09:24:28 +0000 |
commit | 1e867b228fc67a773e682bfd75ebd6ea3ce0a95e (patch) | |
tree | 3156d6468441390b2dea656b070315b27e27a523 /gcc | |
parent | 09c2b6d0286978cf0a2ac82f859bae2c9885d42c (diff) | |
download | gcc-1e867b228fc67a773e682bfd75ebd6ea3ce0a95e.zip gcc-1e867b228fc67a773e682bfd75ebd6ea3ce0a95e.tar.gz gcc-1e867b228fc67a773e682bfd75ebd6ea3ce0a95e.tar.bz2 |
re PR c/52549 (ice in pointer_diff)
2012-04-13 Richard Guenther <rguenther@suse.de>
PR c/52549
* c-typeck.c (pointer_diff): Remove bogus assert.
* gcc.dg/pr52549.c: New testcase.
From-SVN: r186408
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-typeck.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr52549.c | 6 |
4 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d161985..fdff5a7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2012-04-13 Richard Guenther <rguenther@suse.de> + PR c/52549 + * c-typeck.c (pointer_diff): Remove bogus assert. + +2012-04-13 Richard Guenther <rguenther@suse.de> + PR c/52862 * convert.c (convert_to_pointer): Remove special-casing of zero. diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 9891348..e7060e2 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -3446,8 +3446,6 @@ pointer_diff (location_t loc, tree op0, tree op1) else con1 = op1; - gcc_assert (TREE_CODE (con0) != PLUS_EXPR - && TREE_CODE (con1) != PLUS_EXPR); if (TREE_CODE (con0) == POINTER_PLUS_EXPR) { lit0 = TREE_OPERAND (con0, 1); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 23608c5..9abfbd3b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2012-04-13 Richard Guenther <rguenther@suse.de> + PR c/52549 + * gcc.dg/pr52549.c: New testcase. + +2012-04-13 Richard Guenther <rguenther@suse.de> + PR c/52862 * gcc.dg/pr52862.c: New testcase. diff --git a/gcc/testsuite/gcc.dg/pr52549.c b/gcc/testsuite/gcc.dg/pr52549.c new file mode 100644 index 0000000..89ec2aa --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr52549.c @@ -0,0 +1,6 @@ +/* { dg-do compile } */ + +_mark (long obj, int i, char *a) +{ + (char *)&(((long *)(obj)) [i]) - a; +} |