re PR middle-end/28862 (attribute ((aligned)) ignored on vector variables)

2006-09-07  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/28862
        * stor-layout.c (relayout_decl): Don't zero the alignment if it
        was set by the user.

2006-09-07  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/28862
        * gcc.c-torture/compile/vector-align-1.c: New test.

From-SVN: r116751
This commit is contained in:
Andrew Pinski 2006-09-07 15:36:50 +00:00 committed by Andrew Pinski
parent 5cfa6a4e9b
commit c9eee440af
4 changed files with 24 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/28862
* stor-layout.c (relayout_decl): Don't zero the alignment if it
was set by the user.
2006-09-07 Paolo Bonzini <bonzini@gnu.org>
PR target/27117

View File

@ -489,7 +489,8 @@ relayout_decl (tree decl)
{
DECL_SIZE (decl) = DECL_SIZE_UNIT (decl) = 0;
DECL_MODE (decl) = VOIDmode;
DECL_ALIGN (decl) = 0;
if (!DECL_USER_ALIGN (decl))
DECL_ALIGN (decl) = 0;
SET_DECL_RTL (decl, 0);
layout_decl (decl, 0);

View File

@ -1,3 +1,8 @@
2006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/28862
* gcc.c-torture/compile/vector-align-1.c: New test.
2006-09-06 Andrew Pinski <pinskia@physics.uc.edu>
PR rtl-opt/27883

View File

@ -0,0 +1,11 @@
/* Check to make sure the alignment on vectors is not being lost. */
/* If some target has a Max alignment less than 128, please create
a #ifdef around the alignment and add your alignment. */
#define alignment 128
char x __attribute__((aligned(alignment),vector_size(2)));
int f[__alignof__(x) == alignment?1:-1];