This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [fortran, patch] Patch for PR18827
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: Feng Wang <wf_cs at yahoo dot com>
- Cc: fortran at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org, Steven Bosscher <stevenb at suse dot de>
- Date: Tue, 22 Feb 2005 08:29:51 -0500
- Subject: Re: [fortran, patch] Patch for PR18827
- References: <20050222074829.18159.qmail@web15601.mail.cnb.yahoo.com>
On Feb 22, 2005, at 2:48 AM, Feng Wang wrote:
This patch fix pr18827. Allows variables in a common block to be
assigned a
label. And do not set symbol's assign attribute when match assigned
goto
statement and i/o statements using label assigned variable. We should
set it
only when match assign statment. And add checking this attribute when
resolving.
But this patch reveals another bug of the backend. The backend will
remove the
label unless we set !DECL_ARTIFICIAL flag on assigned label, even we
set
TREE_ADDRESSABLE flag and !DECL_IGNORED_P and FORCED_LABEL flag. After
discussion with Steven, we reserve the setting of !DECL_ARTIFICIAL on
assigned
label to fix pr18827. And after committing this patch, I will file a
BE bug
reporting.
The tree optimization bug is tree-cfg.c around line 5799
in cleanup_dead_labels.
It should also be checking FORCED_LABEL.
-- Pinski