diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-23 12:44:34 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-23 12:44:34 +0000 |
commit | d73d4db07b0f68ca63161a49deb911ff89d9cdcc (patch) | |
tree | 1ce6fa5db63816fd6ff6b576aff227f6b37f6c4e /gcc/ada/exp_attr.adb | |
parent | 090ce0bc1838e28b5ab5b195dca8871dec41d047 (diff) | |
download | gcc-d73d4db07b0f68ca63161a49deb911ff89d9cdcc.tar.gz |
2010-06-23 Thomas Quinot <quinot@adacore.com>
* exp_attr.adb (Expand_Access_To_Protected_Op): When rewriting a
reference to a protected subprogram outside of the protected's scope,
ensure the corresponding external subprogram is frozen before the
reference.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb: Fix typo in error message.
* sem.adb: Refine previous change.
2010-06-23 Robert Dewar <dewar@adacore.com>
* impunit.adb, a-suewen.adb, a-suewen.ads, a-suenco.adb, a-suenco.ads,
a-suezen.adb, a-suezen.ads, a-stuten.adb, a-stuten.ads, Makefile.rtl:
Implement Ada 2012 string encoding packages.
2010-06-23 Arnaud Charlet <charlet@adacore.com>
* a-stwiun-shared.adb, a-stwiun-shared.ads, a-stzunb-shared.adb,
a-stzunb-shared.ads, a-swunau-shared.adb, a-swuwti-shared.adb,
a-szunau-shared.adb, a-szuzti-shared.adb: New files.
* gcc-interface/Makefile.in: Enable use of above files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161277 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_attr.adb')
-rw-r--r-- | gcc/ada/exp_attr.adb | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/ada/exp_attr.adb b/gcc/ada/exp_attr.adb index 48420c0d68a..5126e5a1730 100644 --- a/gcc/ada/exp_attr.adb +++ b/gcc/ada/exp_attr.adb @@ -280,16 +280,14 @@ package body Exp_Attr is -- Start of processing for Expand_Access_To_Protected_Op begin - -- Within the body of the protected type, the prefix - -- designates a local operation, and the object is the first - -- parameter of the corresponding protected body of the - -- current enclosing operation. + -- Within the body of the protected type, the prefix designates a local + -- operation, and the object is the first parameter of the corresponding + -- protected body of the current enclosing operation. if Is_Entity_Name (Pref) then if May_Be_External_Call then Sub := - New_Occurrence_Of - (External_Subprogram (Entity (Pref)), Loc); + New_Occurrence_Of (External_Subprogram (Entity (Pref)), Loc); else Sub := New_Occurrence_Of @@ -372,6 +370,7 @@ package body Exp_Attr is Make_Aggregate (Loc, Expressions => New_List (Obj_Ref, Sub_Ref)); + Freeze_Before (N, Entity (Sub)); Rewrite (N, Agg); Analyze_And_Resolve (N, E_T); |