diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-12-05 17:52:16 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-12-05 17:52:16 +0100 |
commit | 1f21b6f4adea6c5d82dc5fe2820b3848e81504a5 (patch) | |
tree | 9d62d6176a2544f214e82ea54ad9eedfeacc163e /gcc/testsuite/gcc.dg | |
parent | c187a21f76390d3bfd0ca2235ec432c23147f957 (diff) | |
download | gcc-1f21b6f4adea6c5d82dc5fe2820b3848e81504a5.zip gcc-1f21b6f4adea6c5d82dc5fe2820b3848e81504a5.tar.gz gcc-1f21b6f4adea6c5d82dc5fe2820b3848e81504a5.tar.bz2 |
re PR middle-end/38338 (__builtin_apply causes an ICE on x86)
PR middle-end/38338
* builtins.c (expand_builtin_apply_args): Put before parm_birth_insn
only if internal_arg_pointer is a non-virtual pseudo.
* gcc.dg/pr38338.c: New test.
From-SVN: r142480
Diffstat (limited to 'gcc/testsuite/gcc.dg')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr38338.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr38338.c b/gcc/testsuite/gcc.dg/pr38338.c new file mode 100644 index 0000000..e8fcc3c --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr38338.c @@ -0,0 +1,18 @@ +/* PR middle-end/38338 */ +/* { dg-options "-O0" } */ +/* { dg-options "-O0 -fPIC" { target fpic } } */ + +typedef void (*fnp) (void); + +static char +foo (char x) +{ + return x; +} + +static void * +bar (char x) +{ + void *args = __builtin_apply_args (); + return __builtin_apply ((fnp) foo, args, sizeof (void *)); +} |