summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_attr.adb
diff options
context:
space:
mode:
authorbosch <bosch@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-18 00:03:38 +0000
committerbosch <bosch@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-18 00:03:38 +0000
commit1d7e0b5bf959e801a664826884738246a1e0cd5d (patch)
tree55411d765913c523d99194e1fdf09285ac70e7f4 /gcc/ada/exp_attr.adb
parent6044ac40cef64da0badb24a1f9878241f335bb6e (diff)
downloadgcc-1d7e0b5bf959e801a664826884738246a1e0cd5d.tar.gz
* gnat_rm.texi: Fix minor typos. Found while reading the section
regarding "Bit_Order Clauses" that was sent to a customer. Very interesting documentation! * sem_case.adb (Choice_Image): Avoid creating improper character literal names by using the routine Set_Character_Literal_Name. This fixes bombs in certain error message cases. * a-reatim.adb: Minor reformatting. * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the case where the formal is an extension of another formal in the current unit or in a parent generic unit. * s-tposen.adb: Update comments. Minor reformatting. Minor code clean up. * s-tarest.adb: Update comments. Minor code reorganization. * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag when Java_VM. * exp_attr.adb: Minor reformatting * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle derivations nested within a child unit: verify that the parent type is declared in an outer scope. * sem_ch12.adb: Minor reformatting * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post warning if current unit is a predefined one, from which bodies may have been deleted. * eval_fat.ads: Add comment that Round_Even is referenced in Ada code Fix header format. Add 2001 to copyright date. * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference, which caused CE during compilation if checks were enabled. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48136 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_attr.adb')
-rw-r--r--gcc/ada/exp_attr.adb18
1 files changed, 12 insertions, 6 deletions
diff --git a/gcc/ada/exp_attr.adb b/gcc/ada/exp_attr.adb
index 2fada3e36a5..90aec3afe8d 100644
--- a/gcc/ada/exp_attr.adb
+++ b/gcc/ada/exp_attr.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- $Revision: 1.304 $
+-- $Revision$
-- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
@@ -3083,9 +3083,16 @@ package body Exp_Attr is
Ttyp := Underlying_Type (Ttyp);
if Prefix_Is_Type then
- Rewrite (N,
- Unchecked_Convert_To (RTE (RE_Tag),
- New_Reference_To (Access_Disp_Table (Ttyp), Loc)));
+
+ -- For JGNAT we leave the type attribute unexpanded because
+ -- there's not a dispatching table to reference.
+
+ if not Java_VM then
+ Rewrite (N,
+ Unchecked_Convert_To (RTE (RE_Tag),
+ New_Reference_To (Access_Disp_Table (Ttyp), Loc)));
+ Analyze_And_Resolve (N, RTE (RE_Tag));
+ end if;
else
Rewrite (N,
@@ -3093,9 +3100,8 @@ package body Exp_Attr is
Prefix => Relocate_Node (Pref),
Selector_Name =>
New_Reference_To (Tag_Component (Ttyp), Loc)));
+ Analyze_And_Resolve (N, RTE (RE_Tag));
end if;
-
- Analyze_And_Resolve (N, RTE (RE_Tag));
end Tag;
----------------