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] Fix xref for tasks


Tested on x86-linux, committed on mainline.

The statement sequence of constructs that require non-trivial finalization
actions, such as tasks with exception handlers, subprograms containing
local controlled objects, etc. is rewritten in order to add last-chance
handlers. This rewriting is done before the analysis of the enclosing
construct is completed, and before the reference to the end label is
generated for the ali file. The end label must be preserved in the new
statement sequence to ensure that the ali information is complete.
--
procedure P is
   procedure Foo is begin null; end Foo;
   procedure Bar is begin null; end Bar;
   task XXX;
   task body XXX is
   begin
      Foo;
   exception
     when others => Bar;
   end XXX;
begin
   null;
end P;

2004-12-07  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
	construct is rewritten, preserve end label to permit source navigation.

Attachment: difs.11
Description: Text document


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