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:
Chung-Lin Tang 2013-12-16 04:28:24 +00:00 committed by Chung-Lin Tang
parent de9d872527
commit 317c184928
2 changed files with 17 additions and 1 deletions

View File

@ -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

View File

@ -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;
}