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

extern void useit(char *);

int
foobar (unsigned short length)
{
  char *pbuf;
  __SIZE_TYPE__ size = (__SIZE_TYPE__) length;

  if (size < 4032)
    pbuf = (char *) __builtin_alloca(size);
  else
    pbuf = (char *) __builtin_malloc (size);

  useit(pbuf);
  return 0;
}