re PR c++/17775 (-frepo with function template in anonymous namespace fails to compile)
PR c++/17775 * repo.c: Include flags.h. (finish_repo): Add -frandom-seed to the arguments. PR c++/17775 * g++.dg/template/repo4.C: New test. From-SVN: r104898
This commit is contained in:
parent
39d164680d
commit
198438344c
4 changed files with 38 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2005-10-03 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/17775
|
||||
* repo.c: Include flags.h.
|
||||
(finish_repo): Add -frandom-seed to the arguments.
|
||||
|
||||
2005-10-02 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/22621
|
||||
|
|
|
@ -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))
|
||||
{
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2005-10-03 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/17775
|
||||
* g++.dg/template/repo4.C: New test.
|
||||
|
||||
2005-10-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
PR libfortran/19308
|
||||
|
|
16
gcc/testsuite/g++.dg/template/repo4.C
Normal file
16
gcc/testsuite/g++.dg/template/repo4.C
Normal file
|
@ -0,0 +1,16 @@
|
|||
// PR c++/17775
|
||||
// { dg-options "-frepo" }
|
||||
// { dg-final { cleanup-repo-files } }
|
||||
|
||||
namespace {
|
||||
struct Foo {};
|
||||
}
|
||||
|
||||
template <typename Tp>
|
||||
void foo(Tp) {}
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
foo(Foo());
|
||||
}
|
Loading…
Add table
Reference in a new issue