diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-01-29 15:47:19 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-01-29 15:47:19 +0000 |
commit | ed6049c8d4abb6da11e251490ff3ca6d3c1cada4 (patch) | |
tree | 7b6cda1d150280c50f4c6d2bbb388db41dc4fa4d /gcc/testsuite/gcc.c-torture/compile/pr35006.c | |
parent | 830a6615b11231355af6fbe3ac324301b7014e2f (diff) | |
download | gcc-ed6049c8d4abb6da11e251490ff3ca6d3c1cada4.tar.gz |
2008-01-29 Richard Guenther <rguenther@suse.de>
PR middle-end/35006
* tree-inline.h (struct copy_body_data): Add remapping_type_depth
field.
* tree-inline.c (remap_type): Increment remapping_type_depth
around remapping types.
(copy_body_r): Only add referenced variables if they are referenced
from code, not types.
* gcc.c-torture/compile/pr35006.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131939 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/pr35006.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr35006.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr35006.c b/gcc/testsuite/gcc.c-torture/compile/pr35006.c new file mode 100644 index 00000000000..53de05cdb40 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr35006.c @@ -0,0 +1,29 @@ +typedef unsigned long grub_uint64_t; +typedef grub_uint64_t grub_size_t; +grub_cmdline_get (unsigned max_len, int echo_char) +{ + unsigned xpos, ypos, ystart; + grub_size_t lpos, llen; + char buf[max_len]; + void cl_print (int pos, int c) + { + char *p; + for (p = buf + pos; *p; p++) + { + if (xpos++ > 78) + grub_putchar ('\n'); + grub_putchar (*p); + } + } + void cl_delete (unsigned len) + { + cl_set_pos (); + cl_print (lpos, ' '); + grub_memmove (); + cl_print (lpos, echo_char); + cl_set_pos (); + } + cl_delete (llen); + grub_size_t n = lpos; + cl_delete (n); +} |