This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gfortran] Make all labels DECL_ARTIFICIAL


 --- Steven Bosscher <stevenb@novell.com> 的正文:
> On Wednesday 02 February 2005 04:44, Feng Wang wrote:
> > When fixing PR18827, I found this was wrong. Making USER labels artificial
> > will make it removed incorrectly under some circumstances. i.e. if we
> > assign a label to a globle variable and don't use the label and variable
> > elsewhere in the module, the optimization will remove the label but leave
> > the assignment. This will cause linking error.
> 
> Sounds like the middle-end removes artificial labels even if they
> are addressable, or the front end not marking the label as such.
> Can you see in the dumps where the label disappears?
> 
I tried to set TREE_ADDRESSABLE or FORCED_LABEL flags to the label, but they 
were useless. From the dumps (used -da option), it is correct in *.00.expand
with one uses. But the number of uses is set to zero in *.01.sibling, at lease
the label exists. In the *.03.jump the label is removed.
I tried to debug and found that it seemed to be removed in cfgrtl.c by
delete_insn(). Hope this can help.

Best Regards,
Feng Wang


_________________________________________________________
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
http://music.yisou.com/
美女明星应有尽有,搜遍美图、艳图和酷图
http://image.yisou.com
1G就是1000兆,雅虎电邮自助扩容!
http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]