opts-common.c (integral_argument): Add support for hexadecimal command option integer arguments.
2013-12-16 Chung-Lin Tang <cltang@codesourcery.com> * opts-common.c (integral_argument): Add support for hexadecimal command option integer arguments. Update comments. From-SVN: r206008
This commit is contained in:
parent
de9d872527
commit
317c184928
|
@ -1,3 +1,8 @@
|
|||
2013-12-16 Chung-Lin Tang <cltang@codesourcery.com>
|
||||
|
||||
* opts-common.c (integral_argument): Add support for
|
||||
hexadecimal command option integer arguments. Update comments.
|
||||
|
||||
2013-12-14 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR ipa/59265
|
||||
|
|
|
@ -147,7 +147,7 @@ find_opt (const char *input, unsigned int lang_mask)
|
|||
return match_wrong_lang;
|
||||
}
|
||||
|
||||
/* If ARG is a non-negative integer made up solely of digits, return its
|
||||
/* If ARG is a non-negative decimal or hexadecimal integer, return its
|
||||
value, otherwise return -1. */
|
||||
|
||||
int
|
||||
|
@ -161,6 +161,17 @@ integral_argument (const char *arg)
|
|||
if (*p == '\0')
|
||||
return atoi (arg);
|
||||
|
||||
/* It wasn't a decimal number - try hexadecimal. */
|
||||
if (arg[0] == '0' && (arg[1] == 'x' || arg[1] == 'X'))
|
||||
{
|
||||
p = arg + 2;
|
||||
while (*p && ISXDIGIT (*p))
|
||||
p++;
|
||||
|
||||
if (p != arg + 2 && *p == '\0')
|
||||
return strtol (arg, NULL, 16);
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue