summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/Wstrict-overflow-27.c
blob: e2cdcbcb078771f49b7313ae69609dd974ee624b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* { dg-do compile } */
/* { dg-require-effective-target alloca } */
/* { dg-options "-O3 -Wstrict-overflow=2 -Werror" } */

typedef __SIZE_TYPE__ size_t;
extern char *strtok_r (char *__restrict __s, const char *__restrict __delim,
		       char **__restrict __save_ptr)
  __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
extern const unsigned short int **__ctype_b_loc (void)
  __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern int *DEBUGLEVEL_CLASS;
size_t debug_num_classes = 0;
void debug_parse_param(char *param);
void
debug_parse_levels(const char *params_str, size_t str_len)
{
  char str[str_len+1];
  char *tok, *saveptr;
  size_t i;
  tok = strtok_r(str, " \t,\n\r", &saveptr);
  if (((*__ctype_b_loc ())[(int) ((tok[0]))]))
    tok = strtok_r(((void *)0), " \t,\n\r", &saveptr);
  else
    DEBUGLEVEL_CLASS[0] = 0;
  for (i = 0 +1; i < debug_num_classes; i++)
    DEBUGLEVEL_CLASS[i] = DEBUGLEVEL_CLASS[0];
  while (tok != ((void *)0) )
    debug_parse_param(tok);
}