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]

[Ada] Spurious warning on elaboration issue in dead code


This patch updates the new ABE mechanism to fully remove a recorded top level
elaboration scenario from its data structures when the scenario appears in dead
code. Previously the mechanism suppressed the generation of checks for such a
scenario, but still produced warnings.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_elab.adb: Update the documentation on adding a new elaboration
	schenario. Add new hash table Recorded_Top_Level_Scenarios.
	(Is_Check_Emitting_Scenario): Removed.
	(Is_Recorded_Top_Level_Scenario): New routine.
	(Kill_Elaboration_Scenario): Reimplemented.
	(Record_Elaboration_Scenario): Mark the scenario as recorded.
	(Set_Is_Recorded_Top_Level_Scenario): New routine.
	(Update_Elaboration_Scenario): Reimplemented.
	* sinfo.adb (Is_Recorded_Scenario): Removed.
	(Set_Is_Recorded_Scenario): Removed.
	* sinfo.ads: Remove attribute Is_Recorded_Scenario along with
	occurrences in nodes.
	(Is_Recorded_Scenario): Removed along with pragma Inline.
	(Set_Is_Recorded_Scenario): Removed along with pragma Inline.

gcc/testsuite/

2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>

	* gnat.dg/elab3.adb, gnat.dg/elab3.ads, gnat.dg/elab3_pkg.adb,
	gnat.dg/elab3_pkg.ads: New testcase.

Attachment: difs
Description: Text document


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