1 /* { dg-do compile } */
2 /* { dg-require-effective-target alloca } */
3 /* { dg-options "-Walloca-larger-than=5000 -O2" } */
4 
5  char *
_i18n_number_rewrite(char * w,char * rear_ptr)6  _i18n_number_rewrite (char *w, char *rear_ptr)
7 {
8 
9   char *src;
10   _Bool use_alloca = (((rear_ptr - w) * sizeof (char)) < 4096U);
11   if (use_alloca)
12     src = (char *) __builtin_alloca ((rear_ptr - w) * sizeof (char));
13   else
14     src = (char *) __builtin_malloc ((rear_ptr - w) * sizeof (char));
15   return src;
16 }
17 
18 /* { dg-prune-output "-Wreturn-local-addr" } */
19