re PR middle-end/36093 (__align__ produces incorrect results in certain cases)
2008-05-01 Richard Guenther <rguenther@suse.de> PR middle-end/36093 * gcc.c-torture/execute/pr36093.c: New testcase. From-SVN: r134851
This commit is contained in:
parent
8665c7ca50
commit
035052e651
@ -1,3 +1,8 @@
|
||||
2008-05-01 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/36093
|
||||
* gcc.c-torture/execute/pr36093.c: New testcase.
|
||||
|
||||
2008-04-30 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||||
|
||||
* gfortran.dg/selected_char_kind_1.f90: New test.
|
||||
|
28
gcc/testsuite/gcc.c-torture/execute/pr36093.c
Normal file
28
gcc/testsuite/gcc.c-torture/execute/pr36093.c
Normal file
@ -0,0 +1,28 @@
|
||||
extern void abort (void);
|
||||
|
||||
typedef struct Bar {
|
||||
char c[129];
|
||||
} Bar __attribute__((__aligned__(128)));
|
||||
|
||||
typedef struct Foo {
|
||||
Bar bar[4];
|
||||
} Foo;
|
||||
|
||||
Foo foo[4];
|
||||
|
||||
int main()
|
||||
{
|
||||
int i, j;
|
||||
Foo *foop = &foo[0];
|
||||
|
||||
for (i=0; i < 4; i++) {
|
||||
Bar *bar = &foop->bar[i];
|
||||
for (j=0; j < 129; j++) {
|
||||
bar->c[j] = 'a' + i;
|
||||
}
|
||||
}
|
||||
|
||||
if (foo[0].bar[3].c[128] != 'd')
|
||||
abort ();
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user