aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2000-04-04 15:13:11 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2000-04-04 15:13:11 +0000
commitbe340b974a62611b639ca5e2c8eacfa1144460b1 (patch)
treea925057d821ed28ccc730cebd0903b691f9a64fa /gcc
parent05ca7cfd3694bf3416f2feb91c2010a904da047e (diff)
downloadgcc-be340b974a62611b639ca5e2c8eacfa1144460b1.zip
gcc-be340b974a62611b639ca5e2c8eacfa1144460b1.tar.gz
gcc-be340b974a62611b639ca5e2c8eacfa1144460b1.tar.bz2
* gcc.dg/cast-qual-1.c: Check casts through a pointer typedef.
From-SVN: r32903
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/cast-qual-1.c30
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index e5434d2..10e520b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2000-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcc.dg/cast-qual-1.c: Check casts through a pointer typedef.
+
2000-04-03 Zack Weinberg <zack@wolery.cumb.org>
* gcc.dg/cpp-redef-2.c, gcc.dg/cpp-tradwarn1.c,
diff --git a/gcc/testsuite/gcc.dg/cast-qual-1.c b/gcc/testsuite/gcc.dg/cast-qual-1.c
index 464fd45..5597ccd 100644
--- a/gcc/testsuite/gcc.dg/cast-qual-1.c
+++ b/gcc/testsuite/gcc.dg/cast-qual-1.c
@@ -28,3 +28,33 @@ bad_assign(const void *bar)
{
const char **foo = bar; /* { dg-warning "initialization discards" "discarding `const' warning" } */
}
+
+typedef struct rtx_def * rtx;
+
+void
+typedef_cast(const void *bar)
+{
+ (const rtx)bar; /* { dg-bogus "cast discards" "discarding `const' warning" } */
+ (const rtx *)bar; /* { dg-warning "cast discards" "discarding `const' warning" } */
+}
+
+void
+typedef_cast2(const rtx bar)
+{
+ (const void *)bar; /* { dg-bogus "cast discards" "discarding `const' warning" } */
+ (const void **)bar; /* { dg-warning "cast discards" "discarding `const' warning" } */
+}
+
+void
+typedef_assign(const void *bar)
+{
+ rtx const *foo1 = bar; /* { dg-bogus "initialization discards" "discarding `const' warning" } */
+ const rtx *foo2 = bar; /* { dg-warning "initialization discards" "discarding `const' warning" } */
+}
+
+void
+typdef_assign2(const rtx bar)
+{
+ void *const *foo1 = bar; /* { dg-bogus "initialization discards" "discarding `const' warning" } */
+ const void **foo2 = bar; /* { dg-warning "initialization discards" "discarding `const' warning" } */
+}