summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/Walloca-4.c
blob: 1fbed597b98a573b156c9d87c5b22aa8b00ca29d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* { dg-do compile } */
/* { dg-require-effective-target alloca } */
/* { dg-options "-Walloca-larger-than=5000 -O2" } */

 char *
 _i18n_number_rewrite (char *w, char *rear_ptr)
{

  char *src;
  _Bool use_alloca = (((rear_ptr - w) * sizeof (char)) < 4096U);
  if (use_alloca)
    src = (char *) __builtin_alloca ((rear_ptr - w) * sizeof (char));
  else
    src = (char *) __builtin_malloc ((rear_ptr - w) * sizeof (char));
  return src;
}

/* { dg-prune-output "-Wreturn-local-addr" } */