On x86_64-linux with -O2 -g gcc creates invalid DW_AT_upper_bound: struct S { int *a; int b; int **c; int d; }; void foo (struct S *); void bar (struct S *); int baz (void) { struct S s; foo (&s); { int a[s.b]; int *c[s.d]; s.a = a; s.c = c; bar (&s); } return 0; } .long .LLST1 # DW_AT_upper_bound .long .LLST3 # DW_AT_upper_bound Note that loclistptr isn't valid for DW_AT_upper_bound attribute, unlike DW_AT_location it can be a constant or reference, like DW_AT_location it can be a block (exprloc) and unlike DW_AT_location it can't be loclistptr. Discovered this by readelf -wo cc1 >/dev/null complaining about holes in .debug_loc.
Subject: Bug 43237 Author: jakub Date: Wed Mar 3 07:02:37 2010 New Revision: 157190 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157190 Log: PR debug/43237 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die, fallthrough to default handling, just with want_address 0 instead of 2. For single element lists, add_AT_loc directly, otherwise create an artificial variable DIE and stick location list to it. * gcc.dg/debug/dwarf2/pr43237.c: New test. Added: trunk/gcc/testsuite/gcc.dg/debug/dwarf2/pr43237.c Modified: trunk/gcc/ChangeLog trunk/gcc/dwarf2out.c trunk/gcc/testsuite/ChangeLog
Fixed.
Subject: Bug 43237 Author: hjl Date: Sat Mar 13 16:58:19 2010 New Revision: 157426 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157426 Log: Backport testcases from mainline. 2010-03-13 H.J. Lu <hongjiu.lu@intel.com> Backport from mainline: 2010-03-11 Martin Jambor <mjambor@suse.cz> PR tree-optimization/43257 * g++.dg/torture/pr43257.C: New test. 2010-03-11 Richard Guenther <rguenther@suse.de> PR tree-optimization/43255 * gcc.c-torture/compile/pr43255.c: New testcase. 2010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * gcc.dg/pr43280.c: New testcase. 2010-03-10 Jan Hubicka <jh@suse.cz> * gcc.c-torture/compile/pr43288.c: New test. 2010-03-10 Andrey Belevantsev <abel@ispras.ru> PR middle-end/42859 * g++.dg/eh/pr42859.C: New test. 2010-03-09 Jakub Jelinek <jakub@redhat.com> PR debug/43299 * gcc.dg/pr43299.c: New test. 2010-03-08 Richard Guenther <rguenther@suse.de> PR tree-optimization/43269 * gcc.c-torture/execute/pr43269.c: New testcase. 2010-03-04 Martin Jambor <mjambor@suse.cz> PR tree-optimization/43164 PR tree-optimization/43191 * gcc.c-torture/compile/pr43164.c: New test. * gcc.c-torture/compile/pr43191.c: Likewise. 2010-03-04 Changpeng Fang <changpeng.fang@amd.com> PR middle-end/43209 * gcc.dg/tree-ssa/ivopts-4.c: New. 2010-03-03 Jakub Jelinek <jakub@redhat.com> PR debug/43229 * gfortran.dg/pr43229.f90: New test. PR debug/43237 * gcc.dg/debug/dwarf2/pr43237.c: New test. 2010-03-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/43180 * gfortran.dg/internal_pack_10.f90: New test. 2010-02-26 Richard Guenther <rguenther@suse.de> PR tree-optimization/43188 * gcc.c-torture/compile/pr43188.c: New testcase. 2010-02-25 Jakub Jelinek <jakub@redhat.com> PR debug/43166 * gfortran.dg/debug/pr43166.f: New test. PR debug/43165 * gcc.dg/torture/pr43165.c: New test. 2010-02-23 Jakub Jelinek <jakub@redhat.com> PR target/43107 * gcc.target/i386/pr43107.c: New test. Added: branches/gcc-4_4-branch/gcc/testsuite/g++.dg/eh/pr42859.C - copied unchanged from r157425, trunk/gcc/testsuite/g++.dg/eh/pr42859.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/torture/pr43257.C - copied unchanged from r157425, trunk/gcc/testsuite/g++.dg/torture/pr43257.C branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr43164.c - copied unchanged from r157425, trunk/gcc/testsuite/gcc.c-torture/compile/pr43164.c branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr43188.c - copied unchanged from r157425, trunk/gcc/testsuite/gcc.c-torture/compile/pr43188.c branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr43191.c - copied unchanged from r157425, trunk/gcc/testsuite/gcc.c-torture/compile/pr43191.c branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr43255.c - copied unchanged from r157425, trunk/gcc/testsuite/gcc.c-torture/compile/pr43255.c branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr43288.c - copied unchanged from r157425, trunk/gcc/testsuite/gcc.c-torture/compile/pr43288.c branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/execute/pr43269.c - copied unchanged from r157425, trunk/gcc/testsuite/gcc.c-torture/execute/pr43269.c branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/debug/dwarf2/pr43237.c - copied unchanged from r157425, trunk/gcc/testsuite/gcc.dg/debug/dwarf2/pr43237.c branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr43280.c - copied unchanged from r157425, trunk/gcc/testsuite/gcc.dg/pr43280.c branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr43299.c - copied unchanged from r157425, trunk/gcc/testsuite/gcc.dg/pr43299.c branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/torture/pr43165.c - copied unchanged from r157425, trunk/gcc/testsuite/gcc.dg/torture/pr43165.c branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/tree-ssa/ivopts-4.c - copied unchanged from r157425, trunk/gcc/testsuite/gcc.dg/tree-ssa/ivopts-4.c branches/gcc-4_4-branch/gcc/testsuite/gcc.target/i386/pr43107.c - copied unchanged from r157425, trunk/gcc/testsuite/gcc.target/i386/pr43107.c branches/gcc-4_4-branch/gcc/testsuite/gfortran.dg/debug/pr43166.f - copied unchanged from r157425, trunk/gcc/testsuite/gfortran.dg/debug/pr43166.f branches/gcc-4_4-branch/gcc/testsuite/gfortran.dg/internal_pack_10.f90 - copied unchanged from r157425, trunk/gcc/testsuite/gfortran.dg/internal_pack_10.f90 branches/gcc-4_4-branch/gcc/testsuite/gfortran.dg/pr43229.f90 - copied unchanged from r157425, trunk/gcc/testsuite/gfortran.dg/pr43229.f90 Modified: branches/gcc-4_4-branch/gcc/testsuite/ChangeLog