aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/repo.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/repo.c')
-rw-r--r--gcc/cp/repo.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/cp/repo.c b/gcc/cp/repo.c
index b3d327d..eee3b87 100644
--- a/gcc/cp/repo.c
+++ b/gcc/cp/repo.c
@@ -36,6 +36,7 @@ Boston, MA 02110-1301, USA. */
#include "obstack.h"
#include "toplev.h"
#include "diagnostic.h"
+#include "flags.h"
static char *extract_string (char **);
static const char *get_base_filename (const char *);
@@ -239,7 +240,16 @@ finish_repo (void)
fprintf (repo_file, "D %s\n", dir);
args = getenv ("COLLECT_GCC_OPTIONS");
if (args)
- fprintf (repo_file, "A %s\n", args);
+ {
+ fprintf (repo_file, "A %s", args);
+ /* If -frandom-seed is not among the ARGS, then add the value
+ that we chose. That will ensure that the names of types from
+ anonymous namespaces will get the same mangling when this
+ file is recompiled. */
+ if (!strstr (args, "'-frandom-seed="))
+ fprintf (repo_file, " '-frandom-seed=%s'", flag_random_seed);
+ fprintf (repo_file, "\n");
+ }
for (t = pending_repo; t; t = TREE_CHAIN (t))
{