From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- gcc/testsuite/gcc.dg/unaligned-1.c | 49 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/unaligned-1.c (limited to 'gcc/testsuite/gcc.dg/unaligned-1.c') diff --git a/gcc/testsuite/gcc.dg/unaligned-1.c b/gcc/testsuite/gcc.dg/unaligned-1.c new file mode 100644 index 000000000..5df1b37e3 --- /dev/null +++ b/gcc/testsuite/gcc.dg/unaligned-1.c @@ -0,0 +1,49 @@ +/* PR middle-end/7847 */ +/* Originator: */ +/* { dg-do run } */ + +/* This used to fail on SPARC at runtime because of + an unaligned memory access. */ + +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; + +typedef struct { + uint32_t address; + uint16_t size; +} __attribute__ ((packed)) sml_agl_data_t; + +typedef struct { + sml_agl_data_t data[9]; +} __attribute__ ((packed)) sml_agli_t; + +typedef struct { + sml_agli_t sml_agli; +} __attribute__ ((packed)) dsi_t; + +typedef struct { + int a; + dsi_t dsi_pack; +} dvd_priv_t; + +int dvd_read_sector(dvd_priv_t *d, unsigned char* data) +{ + int i, skip=0; + + for (i=0; i < 9; i++) + if ((skip=d->dsi_pack.sml_agli.data[i].address) != 0) + break; + + return skip; +} + +int main(void) +{ + static dvd_priv_t dvd_priv; + dvd_read_sector(&dvd_priv, 0); + return 0; +} -- cgit v1.2.3