This is GCC Bugzilla
This is GCC Bugzilla Version 2.20+
View Bug Activity | Format For Printing | Clone This Bug
The following tests fail with "error: alignment of array elements is greater than element size": FAIL: gcc.dg/torture/stackalign/nested-2.c -O3 -fomit-frame-pointer (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-2.c -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-2.c -O3 -g (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-2.c -O3 -g compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-3.c -O3 -fomit-frame-pointer (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-3.c -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-3.c -O3 -g (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-3.c -O3 -g compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-1.c -O3 -fomit-frame-pointer (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-1.c -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-1.c -O3 -g (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-1.c -O3 -g compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-2.c -O3 -fomit-frame-pointer (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-2.c -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-2.c -O3 -g (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-2.c -O3 -g compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-3.c -O3 -fomit-frame-pointer (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-3.c -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-3.c -O3 -g (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-3.c -O3 -g compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-2.c -O3 -fomit-frame-pointer (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-2.c -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-2.c -O3 -g (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-2.c -O3 -g compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-3.c -O3 -fomit-frame-pointer (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-3.c -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-3.c -O3 -g (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-3.c -O3 -g compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-1.c -O3 -fomit-frame-pointer (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-1.c -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-1.c -O3 -g (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-1.c -O3 -g compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-2.c -O3 -fomit-frame-pointer (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-2.c -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-2.c -O3 -g (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-2.c -O3 -g compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-3.c -O3 -fomit-frame-pointer (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-3.c -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: gcc.dg/torture/stackalign/nested-3.c -O3 -g (test for excess errors) WARNING: gcc.dg/torture/stackalign/nested-3.c -O3 -g compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-vararg-1.C -O3 -fomit-frame-pointer (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-vararg-1.C -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-vararg-1.C -O3 -g (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-vararg-1.C -O3 -g compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-vararg-2.C -O3 -fomit-frame-pointer (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-vararg-2.C -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-vararg-2.C -O3 -g (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-vararg-2.C -O3 -g compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-alloca-1.C -O3 -fomit-frame-pointer (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-alloca-1.C -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-alloca-1.C -O3 -g (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-alloca-1.C -O3 -g compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-global-1.C -O3 -fomit-frame-pointer (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-global-1.C -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-global-1.C -O3 -g (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-global-1.C -O3 -g compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-inline-1.C -O3 -fomit-frame-pointer (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-inline-1.C -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-inline-1.C -O3 -g (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-inline-1.C -O3 -g compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-inline-2.C -O3 -fomit-frame-pointer (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-inline-2.C -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-inline-2.C -O3 -g (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-inline-2.C -O3 -g compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-vararg-1.C -O3 -fomit-frame-pointer (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-vararg-1.C -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-vararg-1.C -O3 -g (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-vararg-1.C -O3 -g compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-vararg-2.C -O3 -fomit-frame-pointer (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-vararg-2.C -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: g++.dg/torture/stackalign/eh-vararg-2.C -O3 -g (test for excess errors) WARNING: g++.dg/torture/stackalign/eh-vararg-2.C -O3 -g compilation failed to produce executable The failures start from revision 147829 - basic block SLP. SLP checks if there is a vector type for the scalar type used in a basic block. It calls make_vector_type() for a vector type, where array of this type is built for debug representation purposes in build_array_type(): at ../../gcc/gcc/stor-layout.c:1848 1848 error ("alignment of array elements is greater than element size"); (gdb) back #0 layout_type (type=0x2b2860eb2240) at ../../gcc/gcc/stor-layout.c:1848 #1 0x00000000008dc33c in type_hash_lookup (hashcode=2524125531, type=0x40) at ../../gcc/gcc/tree.c:4721 #2 0x00000000008dc3c9 in type_hash_canon (hashcode=2524125531, type=0x40) at ../../gcc/gcc/tree.c:4772 #3 0x00000000008dd1d1 in build_array_type (elt_type=0x2b2860e52600, index_type=0x2b2860dd90c0) at ../../gcc/gcc/tree.c:5851 #4 0x00000000008f4d1d in make_vector_type (innertype=0x2b2860e52600, nunits=4, mode=VOIDmode) at ../../gcc/gcc/tree.c:7441 #5 0x000000000089d9c8 in get_vectype_for_scalar_type (scalar_type=0x2b2860e52600) at ../../gcc/gcc/tree-vect-stmts.c:4348 #6 0x0000000000bbc3ef in vect_analyze_data_refs (loop_vinfo=<value optimized out>, bb_vinfo=<value optimized out>) at ../../gcc/gcc/tree-vect-data-refs.c:2050 ... (gdb) p debug_generic_expr (type) aligned[4] $6 = void
Mine.
Testcase: typedef int aligned __attribute__((aligned(64))); struct Frame { aligned i; }; void foo(struct Frame *p) { aligned *q = &p->i; *q = 0; }
*** Bug 40234 has been marked as a duplicate of this bug. ***
Fixed.
Subject: Bug 40233 Author: rguenth Date: Sun May 24 16:12:58 2009 New Revision: 147835 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147835 Log: 2009-05-24 Richard Guenther <rguenther@suse.de> PR middle-end/40233 * tree.c (make_vector_type): Build the TYPE_DEBUG_REPRESENTATION_TYPEs array type from the main variant of the inner type. * gcc.c-torture/compile/pr40233.c: New testcase. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr40233.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree.c
Subject: Bug 40233 Author: hjl Date: Sat May 30 13:49:33 2009 New Revision: 148004 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148004 Log: 2009-05-30 H.J. Lu <hongjiu.lu@intel.com> Backport from mainline: 2009-05-28 Dodji Seketeli <dodji@redhat.com> PR c++/39754 * g++.dg/template/canon-type-1.C: New test. * g++.dg/template/canon-type-2.C: Likewise. * g++.dg/template/canon-type-3.C: Likewise. * g++.dg/template/canon-type-4.C: Likewise. * g++.dg/template/canon-type-5.C: Likewise. * g++.dg/template/canon-type-6.C: Likewise. * g++.dg/template/canon-type-7.C: Likewise. 2009-05-28 Ira Rosen <irar@il.ibm.com> PR tree-optimization/40254 * gcc.dg/vect/pr40254.c: New test. 2009-05-26 Richard Guenther <rguenther@suse.de> PR middle-end/40252 * gcc.c-torture/compile/pr40252.c: New testcase. 2009-05-26 Dodji Seketeli <dodji@redhat.com> PR c++/40007 * g++.dg/template/typedef18.C: New test. * g++.dg/template/typedef19.C: Likewise. * g++.dg/template/typedef20.C: Likewise. 2009-05-25 Ira Rosen <irar@il.ibm.com> PR tree-optimization/40238 * gcc.dg/vect/pr40238.c: New test. 2009-05-24 Richard Guenther <rguenther@suse.de> PR middle-end/40233 * gcc.c-torture/compile/pr40233.c: New testcase. Added: branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-1.C - copied unchanged from r148002, trunk/gcc/testsuite/g++.dg/template/canon-type-1.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-2.C - copied unchanged from r148002, trunk/gcc/testsuite/g++.dg/template/canon-type-2.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-3.C - copied unchanged from r148002, trunk/gcc/testsuite/g++.dg/template/canon-type-3.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-4.C - copied unchanged from r148002, trunk/gcc/testsuite/g++.dg/template/canon-type-4.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-5.C - copied unchanged from r148002, trunk/gcc/testsuite/g++.dg/template/canon-type-5.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-6.C - copied unchanged from r148002, trunk/gcc/testsuite/g++.dg/template/canon-type-6.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-7.C - copied unchanged from r148002, trunk/gcc/testsuite/g++.dg/template/canon-type-7.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef18.C - copied unchanged from r148003, trunk/gcc/testsuite/g++.dg/template/typedef18.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef19.C - copied unchanged from r148003, trunk/gcc/testsuite/g++.dg/template/typedef19.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef20.C - copied unchanged from r148003, trunk/gcc/testsuite/g++.dg/template/typedef20.C branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40233.c - copied unchanged from r148003, trunk/gcc/testsuite/gcc.c-torture/compile/pr40233.c branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40252.c - copied unchanged from r148003, trunk/gcc/testsuite/gcc.c-torture/compile/pr40252.c branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40238.c - copied unchanged from r148003, trunk/gcc/testsuite/gcc.dg/vect/pr40238.c branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40254.c - copied unchanged from r148003, trunk/gcc/testsuite/gcc.dg/vect/pr40254.c Modified: branches/gcc-4_4-branch/gcc/testsuite/ChangeLog