summaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authormeibf <meibf@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-31 08:50:50 +0000
committermeibf <meibf@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-31 08:50:50 +0000
commit8c3766fd997d5ee379e11cc0d888777bda3992e6 (patch)
tree54733b3b92816303feb98e0f57cab1c0f45bbda0 /gcc/toplev.c
parent76ce2a4313dc83ec62dee8c58a3d1bd7b645d1c0 (diff)
downloadgcc-8c3766fd997d5ee379e11cc0d888777bda3992e6.tar.gz
2014-07-31 Bingfeng Mei <bmei@broadcom.com>
PR lto/61868 * toplev.c (init_random_seed): Move piece of code never called to set_random_seed. (set_random_seed): see above. * gcc.dg/pr61868.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213321 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index c2d4232523e..98ea0588013 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -282,16 +282,7 @@ init_local_tick (void)
static void
init_random_seed (void)
{
- if (flag_random_seed)
- {
- char *endp;
-
- /* When the driver passed in a hex number don't crc it again */
- random_seed = strtoul (flag_random_seed, &endp, 0);
- if (!(endp > flag_random_seed && *endp == 0))
- random_seed = crc32_string (0, flag_random_seed);
- }
- else if (!random_seed)
+ if (!random_seed)
random_seed = local_tick ^ getpid (); /* Old racey fallback method */
}
@@ -314,6 +305,15 @@ set_random_seed (const char *val)
{
const char *old = flag_random_seed;
flag_random_seed = val;
+ if (flag_random_seed)
+ {
+ char *endp;
+
+ /* When the driver passed in a hex number don't crc it again */
+ random_seed = strtoul (flag_random_seed, &endp, 0);
+ if (!(endp > flag_random_seed && *endp == 0))
+ random_seed = crc32_string (0, flag_random_seed);
+ }
return old;
}