/* Debug counter for debugging support
- Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
This file is part of GCC.
{
int i;
for (i = debug_counter_number_of_counters - 1; i >= 0; i--)
- if (!strncmp (map[i].name, name, len))
+ if (strncmp (map[i].name, name, len) == 0
+ && map[i].name[len] == '\0')
break;
if (i < 0)
return false;
- dbg_cnt_set_limit_by_index (i, value);
+ dbg_cnt_set_limit_by_index ((enum debug_counter) i, value);
return true;
}
static const char *
dbg_cnt_process_single_pair (const char *arg)
{
- char *colon = strchr (arg, ':');
+ const char *colon = strchr (arg, ':');
char *endptr = NULL;
int value;
if (next == NULL || *next != 0)
{
- char *buffer = alloca (arg - start + 2);
+ char *buffer = XALLOCAVEC (char, arg - start + 2);
sprintf (buffer, "%*c", (int)(1 + (arg - start)), '^');
error ("Can not find a valid counter:value pair:");
error ("-fdbg-cnt=%s", start);