mirror of
https://github.com/LIV2/bebbo-gcc.git
synced 2025-12-06 00:23:32 +00:00
Backport from mainline 2018-08-23 Richard Biener <rguenther@suse.de> PR middle-end/87024 * tree-inline.c (copy_bb): Drop unused __builtin_va_arg_pack_len calls. * gcc.dg/pr87024.c: New testcase. 2018-08-17 Richard Biener <rguenther@suse.de> PR middle-end/86505 * tree-inline.c (copy_bb): When inlining __builtin_va_arg_pack_len () across a va-arg-pack using call adjust its return value accordingly. * gcc.dg/torture/pr86505.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@265159 138bc75d-0d04-0410-961f-82ee72b054a4
33 lines
486 B
C
33 lines
486 B
C
/* { dg-do run } */
|
|
|
|
static inline __attribute__(( __always_inline__)) int
|
|
funA(unsigned int param, ...)
|
|
{
|
|
return __builtin_va_arg_pack_len();
|
|
}
|
|
|
|
static inline __attribute__(( __always_inline__)) int
|
|
funB(unsigned int param, ...)
|
|
{
|
|
return funA(param, 2, 4, __builtin_va_arg_pack());
|
|
}
|
|
|
|
int
|
|
testBuiltin(void)
|
|
{
|
|
int rc = funB(0,1,2);
|
|
if (rc != 4)
|
|
return 1;
|
|
return 0;
|
|
}
|
|
|
|
int
|
|
main()
|
|
{
|
|
int rc = testBuiltin();
|
|
if (rc == 1)
|
|
__builtin_abort ();
|
|
|
|
return 0;
|
|
}
|