blob: 43cecab2351e0c6456510b7b77e12e7e4ce93a09 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
// { 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
}
|