re PR libfortran/24991 (gfortran build fails with - error:gthr-default.h: No such file or directory)

PR libfortran/24991
* config/darwin.c (machopic_indirection_name,
machopic_output_indirection): Follow transparent alias chain.

From-SVN: r107639
This commit is contained in:
Alexandre Oliva 2005-11-29 00:47:28 +00:00 committed by Alexandre Oliva
parent 6b12b9b330
commit 0a6a4494e4
2 changed files with 33 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2005-11-28 Alexandre Oliva <aoliva@redhat.com>
PR libfortran/24991
* config/darwin.c (machopic_indirection_name,
machopic_output_indirection): Follow transparent alias chain.
2005-11-28 Alexandre Oliva <aoliva@redhat.com> 2005-11-28 Alexandre Oliva <aoliva@redhat.com>
* varasm.c (ultimate_transparent_alias_target): Add comment. * varasm.c (ultimate_transparent_alias_target): Add comment.

View File

@ -316,6 +316,21 @@ machopic_indirection_name (rtx sym_ref, bool stub_p)
const char *suffix; const char *suffix;
const char *prefix = user_label_prefix; const char *prefix = user_label_prefix;
const char *quote = ""; const char *quote = "";
tree id;
id = maybe_get_identifier (name);
if (id)
{
tree id_orig = id;
while (IDENTIFIER_TRANSPARENT_ALIAS (id))
id = TREE_CHAIN (id);
if (id != id_orig)
{
name = IDENTIFIER_POINTER (id);
namelen = strlen (name);
}
}
if (name[0] == '*') if (name[0] == '*')
{ {
@ -861,6 +876,18 @@ machopic_output_indirection (void **slot, void *data)
{ {
char *sym; char *sym;
char *stub; char *stub;
tree id;
id = maybe_get_identifier (sym_name);
if (id)
{
tree id_orig = id;
while (IDENTIFIER_TRANSPARENT_ALIAS (id))
id = TREE_CHAIN (id);
if (id != id_orig)
sym_name = IDENTIFIER_POINTER (id);
}
sym = alloca (strlen (sym_name) + 2); sym = alloca (strlen (sym_name) + 2);
if (sym_name[0] == '*' || sym_name[0] == '&') if (sym_name[0] == '*' || sym_name[0] == '&')