diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2092702567c78b532f40e91344ccef151937cb69..3aaa11bdb9148ee3a707be8b301759b4f775a814 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-02-18 Paul Brook <paul@codesourcery.com> + + * dwarf2out.c (loc_descriptor_from_tree): Handle + EXPR_WITH_FILE_LOCATION. + 2004-02-18 Jakub Jelinek <jakub@redhat.com> * config/i386/i386.md (zero_extendqidi2, zero_extendqidi2, diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 91a4705021e3fe3ebd8b49f94236ba7c4a1b379a..87f1be715b391f8b9b84499482a002386b7887e0 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -9001,6 +9001,9 @@ loc_descriptor_from_tree (tree loc, int addressp) } break; + case EXPR_WITH_FILE_LOCATION: + return loc_descriptor_from_tree (EXPR_WFL_NODE (loc), addressp); + default: /* Leave front-end specific codes as simply unknown. This comes up, for instance, with the C STMT_EXPR. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 52863b0e859b881f38d8d4fa1ba5bdb471a0e870..d77221a9f5c45ad021b0b13934fa33e0f5486d03 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2004-02-18 Paul Brook <paul@codesourcery.com> + + * gcc.dg/debug/debug-7.c: New test. + 2004-02-17 Ulrich Weigand <uweigand@de.ibm.com> * gcc.dg/20040217-1.c: New test. diff --git a/gcc/testsuite/gcc.dg/debug/debug-7.c b/gcc/testsuite/gcc.dg/debug/debug-7.c new file mode 100644 index 0000000000000000000000000000000000000000..361bc4bf6b399b7b5cd734b796ecbd6ec9323693 --- /dev/null +++ b/gcc/testsuite/gcc.dg/debug/debug-7.c @@ -0,0 +1,17 @@ +/* { dg-do compile } */ +/* { dg-options "-dA" } */ + +typedef __SIZE_TYPE__ size_t; + +static inline size_t foo (int n) +{ + return (n + sizeof (int) * 8 - 1) / (sizeof (int) * 8); +} + +void bar (int, int *); + +void baz (int n) +{ + int a[foo (n)]; + bar (n, a); +}