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]

[PATCH] Fix PR tree-opt/25251, forced label being removed


A forced label is being removed when compiling with some Fortran code.
The Fortran front-end produces labels which are forced (the address is
taken) but they are artificial.  In cleanup_dead_labels, we check
to see if the label is not artificial or a non-local label but we
forget to check if the label is forced.  We remove the label as
cleanup_dead_labels forgets to check if the label is forced meaning
that we need the label still.

OK for the mainline and the 4.1 branch?  Bootstrapped and tested on
x86_64-linux-gnu with no regressions.

Thanks,
Andrew Pinski


ChangeLog:


	* tree-cfg.c (cleanup_dead_labels): Also don't remove
	forced labels.

* gfortran.dg/assign_7.f: New test.


Attachment: fix.diff.txt
Description: Text document


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