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] | |
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] |