diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2000-04-04 15:13:11 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2000-04-04 15:13:11 +0000 |
commit | be340b974a62611b639ca5e2c8eacfa1144460b1 (patch) | |
tree | a925057d821ed28ccc730cebd0903b691f9a64fa /gcc | |
parent | 05ca7cfd3694bf3416f2feb91c2010a904da047e (diff) | |
download | gcc-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/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cast-qual-1.c | 30 |
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" } */ +} |