public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Rafael Espindola <espindola@google.com>
To: GCC Patches <gcc-patches@gcc.gnu.org>
Cc: Richard Guenther <richard.guenther@gmail.com>,
	        Diego Novillo <dnovillo@google.com>,
	        Paul Brook <paul@codesourcery.com>
Subject: [patch] Fix PR41764
Date: Wed, 21 Oct 2009 18:09:00 -0000	[thread overview]
Message-ID: <38a0d8450910211055g4968b06fie72550732e1dcf4c@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 491 bytes --]

The attached patch fixes PR 41764. The problem was that the fortran FE
was creating fake variables and marking them public. They were not
written to the final assembly becouse the FE sets TREE_ASM_WRITTEN,
but they were in the IL symbol table.

OK if bootstraps and tests are OK?

2009-10-21  Rafael Avila de Espindola  <espindola@google.com>

	PR 41764
	* trans-common.c (create_common): Set TREE_PUBLIC to false on
	fake variables.

Cheers,
-- 
Rafael Ávila de Espíndola

[-- Attachment #2: fake.patch --]
[-- Type: text/x-diff, Size: 1084 bytes --]

diff --git a/gcc/fortran/trans-common.c b/gcc/fortran/trans-common.c
index 5b1952a..1fb3c40 100644
--- a/gcc/fortran/trans-common.c
+++ b/gcc/fortran/trans-common.c
@@ -680,7 +680,6 @@ create_common (gfc_common_head *com, segment_info *head, bool saw_equiv)
       var_decl = build_decl (s->sym->declared_at.lb->location,
 			     VAR_DECL, DECL_NAME (s->field),
 			     TREE_TYPE (s->field));
-      TREE_PUBLIC (var_decl) = TREE_PUBLIC (decl);
       TREE_STATIC (var_decl) = TREE_STATIC (decl);
       TREE_USED (var_decl) = TREE_USED (decl);
       if (s->sym->attr.use_assoc)
@@ -689,7 +688,9 @@ create_common (gfc_common_head *com, segment_info *head, bool saw_equiv)
 	TREE_ADDRESSABLE (var_decl) = 1;
       /* This is a fake variable just for debugging purposes.  */
       TREE_ASM_WRITTEN (var_decl) = 1;
-      
+      /* Fake variables are not visible from other translation units. */
+      TREE_PUBLIC (var_decl) = 0;
+
       /* To preserve identifier names in COMMON, chain to procedure
          scope unless at top level in a module definition.  */
       if (com

             reply	other threads:[~2009-10-21 17:55 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-21 18:09 Rafael Espindola [this message]
2009-10-21 22:46 ` Rafael Espindola
2009-10-26 18:53   ` Rafael Espindola
2009-10-28  4:24     ` Rafael Espindola
2009-10-28 14:27       ` Rafael Espindola
2009-10-28 19:20         ` Toon Moene
2009-10-28 19:37           ` Rafael Espindola
2009-10-28 14:34       ` Ian Lance Taylor
2009-10-28 20:38         ` Tobias Burnus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=38a0d8450910211055g4968b06fie72550732e1dcf4c@mail.gmail.com \
    --to=espindola@google.com \
    --cc=dnovillo@google.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=paul@codesourcery.com \
    --cc=richard.guenther@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).