diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-03-16 09:35:31 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-03-16 09:35:31 +0100 |
commit | a58a8e4b1f724fdb5edfd09660963404439428f7 (patch) | |
tree | e1c308ef8c1fe2a484b5a77d166cb4b3682c3f18 /gcc/testsuite | |
parent | 2b1c543325692d744eec22f779656e13605c3ceb (diff) | |
download | gcc-a58a8e4b1f724fdb5edfd09660963404439428f7.zip gcc-a58a8e4b1f724fdb5edfd09660963404439428f7.tar.gz gcc-a58a8e4b1f724fdb5edfd09660963404439428f7.tar.bz2 |
re PR debug/45882 (No debug info for vars depending on unused parameter)
PR debug/45882
* rtl.def (ENTRY_VALUE): Change format from "e" to "0".
* rtl.h (ENTRY_VALUE_EXP): Define.
* rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
* cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
* print-rtl.c (print_rtx): Likewise.
* gengtype.c (adjust_field_rtx_def): Likewise.
* var-tracking.c (vt_add_function_parameter): Adjust
gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
* dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
* cfgexpand.c (expand_debug_expr): If a SSA_NAME without
partition is a default definition of a PARM_DECL, use ENTRY_VALUE
of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
* gcc.dg/guality/pr45882.c: New test.
From-SVN: r171035
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/guality/pr45882.c | 30 |
2 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 09bdda9..601c96b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-03-16 Jakub Jelinek <jakub@redhat.com> + + PR debug/45882 + * gcc.dg/guality/pr45882.c: New test. + 2011-03-15 Jason Merrill <jason@redhat.com> * g++.dg/cpp0x/constexpr-recursion.C: New. diff --git a/gcc/testsuite/gcc.dg/guality/pr45882.c b/gcc/testsuite/gcc.dg/guality/pr45882.c new file mode 100644 index 0000000..335574d --- /dev/null +++ b/gcc/testsuite/gcc.dg/guality/pr45882.c @@ -0,0 +1,30 @@ +/* PR debug/45882 */ +/* { dg-do run } */ +/* { dg-options "-g" } */ + +extern void abort (void); +int a[1024]; +volatile short int v; + +__attribute__((noinline)) int +foo (int i, int j) +{ + int b = i; /* { dg-final { gdb-test 16 "b" "7" } } */ + int c = i + 4; /* { dg-final { gdb-test 16 "c" "11" } } */ + int d = a[i]; /* { dg-final { gdb-test 16 "d" "112" } } */ + int e = a[i + 6]; /* { dg-final { gdb-test 16 "e" "142" } } */ + ++v; + return ++j; +} + +int +main (void) +{ + int l; + asm ("" : "=r" (l) : "0" (7)); + a[7] = 112; + a[7 + 6] = 142; + if (foo (l, 7) != 8) + abort (); + return l - 7; +} |