diff options
author | Richard Guenther <rguenth@gcc.gnu.org> | 2005-06-02 20:09:01 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2005-06-02 20:09:01 +0000 |
commit | 984dfd8c52a42e3e0ce4838ab77839c4abce4697 (patch) | |
tree | 36ffef166730228b1ad7255108235c0102376aac /gcc | |
parent | c449e20709e969adcfe9e0a758fa9698d8949878 (diff) | |
download | gcc-984dfd8c52a42e3e0ce4838ab77839c4abce4697.zip gcc-984dfd8c52a42e3e0ce4838ab77839c4abce4697.tar.gz gcc-984dfd8c52a42e3e0ce4838ab77839c4abce4697.tar.bz2 |
c-typeck.c (build_indirect_ref): Build INDIRECT_REF with correct type.
2005-06-02 Richard Guenther <rguenth@gcc.gnu.org>
* c-typeck.c (build_indirect_ref): Build INDIRECT_REF
with correct type.
* gcc.dg/wtypequal.c: New testcase.
From-SVN: r100512
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-typeck.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/wtypequal.c | 7 |
4 files changed, 17 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 01fa616..530350c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-06-02 Richard Guenther <rguenth@gcc.gnu.org> + + * c-typeck.c (build_indirect_ref): Build INDIRECT_REF + with correct type. + 2005-06-02 Ulrich Weigand <uweigand@de.ibm.com> * config/s390/s390.c (s390_add_execute): Do not handle out-of-pool diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 00f7010..694eb69 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -1638,12 +1638,9 @@ build_indirect_ref (tree ptr, const char *errorstring) else { tree t = TREE_TYPE (type); - tree mvt = t; tree ref; - if (TREE_CODE (mvt) != ARRAY_TYPE) - mvt = TYPE_MAIN_VARIANT (mvt); - ref = build1 (INDIRECT_REF, mvt, pointer); + ref = build1 (INDIRECT_REF, t, pointer); if (!COMPLETE_OR_VOID_TYPE_P (t) && TREE_CODE (t) != ARRAY_TYPE) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5d508e5..54647f0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2005-06-02 Richard Guenther <rguenth@gcc.gnu.org> + + * gcc.dg/wtypequal.c: New testcase. + 2005-06-02 Diego Novillo <dnovillo@redhat.com> PR 21582 diff --git a/gcc/testsuite/gcc.dg/wtypequal.c b/gcc/testsuite/gcc.dg/wtypequal.c new file mode 100644 index 0000000..9a71899 --- /dev/null +++ b/gcc/testsuite/gcc.dg/wtypequal.c @@ -0,0 +1,7 @@ +/* { dg-do compile } */ + +int *__restrict *p; +void f(void) +{ + __typeof(*p) *q = p; /* { dg-bogus "discards qualifiers" } */ +} |