2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-02-21 21:10:04 +08:00

re PR gcov-profile/61790 (gcov-tool.c uses atoll)

PR gcov-profile/61790
	* gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
	long long.  Fallback to int64_t if host doesn't have long long and
	use strtol if int64_t is long.  Otherwise, use sscanf for conversion.

From-SVN: r219372
This commit is contained in:
John David Anglin 2015-01-09 00:50:49 +00:00
parent fe7d744747
commit e608ef6de9
2 changed files with 18 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2015-01-08 John David Anglin <danglin@gcc.gnu.org>
PR gcov-profile/61790
* gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
long long. Fallback to int64_t if host doesn't have long long and
use strtol if int64_t is long. Otherwise, use sscanf for conversion.
2015-01-08 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/63989

View File

@ -289,7 +289,11 @@ do_rewrite (int argc, char **argv)
int opt;
int ret;
const char *output_dir = 0;
#ifdef HAVE_LONG_LONG
long long normalize_val = 0;
#else
int64_t normalize_val = 0;
#endif
float scale = 0.0;
int numerator = 1;
int denominator = 1;
@ -309,7 +313,13 @@ do_rewrite (int argc, char **argv)
break;
case 'n':
if (!do_scaling)
normalize_val = atoll (optarg);
#if defined(HAVE_LONG_LONG)
normalize_val = strtoll (optarg, (char **)NULL, 10);
#elif defined(INT64_T_IS_LONG)
normalize_val = strtol (optarg, (char **)NULL, 10);
#else
sscanf (optarg, "%" SCNd64, &normalize_val);
#endif
else
fnotice (stderr, "scaling cannot co-exist with normalization,"
" skipping\n");