From: Jakub Jelinek Date: Wed, 27 Jul 2011 18:19:40 +0000 (+0200) Subject: re PR target/49866 (-mcmodel=large tail call fails to assemble) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f22cfb2e4ef3c8749a4814ebd5d0b39173b05b18;p=gcc.git re PR target/49866 (-mcmodel=large tail call fails to assemble) PR target/49866 * gcc.target/i386/pr49866.c: New test. From-SVN: r176842 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 30c86efa598..a5fd846f32e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-07-27 Jakub Jelinek + + PR target/49866 + * gcc.target/i386/pr49866.c: New test. + 2011-07-27 Yukhin Kirill * gcc.target/i386/i386.exp (check_effective_target_bmi): New. diff --git a/gcc/testsuite/gcc.target/i386/pr49866.c b/gcc/testsuite/gcc.target/i386/pr49866.c new file mode 100644 index 00000000000..823305df706 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr49866.c @@ -0,0 +1,23 @@ +/* PR target/49866 */ +/* { dg-do assemble } */ +/* { dg-options "-O2 -mcmodel=large" { target lp64 } } */ + +void fn (void *, int, int); +int fn2 (void); +void baz (int); + +static void +foo (void *x, int y) +{ + int i; + for (i = 0; i < y; i++) + fn (x, fn2 (), i); +} + +void +bar (int u, int v, int w, void *x) +{ + baz (u); + foo (x, w); + baz (u); +}