From 41bd0db1f02ae60cd58f5d79ad01cff22931a841 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Wed, 15 Dec 1999 12:40:30 +0000 Subject: [PATCH] * g++.old-deja/g++.warn/cast-align1.C: New test. From-SVN: r30953 --- gcc/testsuite/ChangeLog | 4 +++ .../g++.old-deja/g++.warn/cast-align1.C | 28 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 gcc/testsuite/g++.old-deja/g++.warn/cast-align1.C diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4aa9038fa690..e623b37f4da6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +1999-12-15 Nathan Sidwell + + * g++.old-deja/g++.warn/cast-align1.C: New test. + 1999-12-14 Bernd Schmidt * gcc.dg/991214-1.c: New test. diff --git a/gcc/testsuite/g++.old-deja/g++.warn/cast-align1.C b/gcc/testsuite/g++.old-deja/g++.warn/cast-align1.C new file mode 100644 index 000000000000..2876bf711f9c --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.warn/cast-align1.C @@ -0,0 +1,28 @@ +// Build don't link: +// Skip if not target: sparc-*-* + +// Special g++ Options: -ansi -pedantic-errors -Wcast-align + +// Copyright (C) 1999 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 7 Dec 1999 + +// 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; // WARNING - alignment +}