28 lines
532 B
C
28 lines
532 B
C
// { dg-do assemble { target sparc-*-* } }
|
|
// { dg-options "-ansi -pedantic-errors -Wcast-align" }
|
|
|
|
|
|
// Copyright (C) 1999 Free Software Foundation, Inc.
|
|
// Contributed by Nathan Sidwell 7 Dec 1999 <nathan@acm.org>
|
|
|
|
// converting a T * to void * does not need a complete T, and doesn't
|
|
// increase alignment requirements.
|
|
|
|
struct X;
|
|
struct Y;
|
|
struct Z {double m;};
|
|
|
|
void f3 (X *xp, Z *zp)
|
|
{
|
|
(void *)xp;
|
|
(void *)zp;
|
|
(Y *)xp;
|
|
(Y *)zp;
|
|
(Z *)xp;
|
|
}
|
|
|
|
void f4 (char *ptr)
|
|
{
|
|
(Z *)ptr; // { dg-warning "" } alignment
|
|
}
|