aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/lib-xref.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2013-04-11 12:45:11 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2013-04-11 12:45:11 +0200
commitfc142f6327838046dd9d363de53fad60771304e2 (patch)
treea14bcd806f8dac2b6a1d64d38ad4c14ed7f2547b /gcc/ada/lib-xref.adb
parent2602b64e3a4072c8819cad2f3abffe2d5ae69de3 (diff)
downloadgcc-fc142f6327838046dd9d363de53fad60771304e2.zip
gcc-fc142f6327838046dd9d363de53fad60771304e2.tar.gz
gcc-fc142f6327838046dd9d363de53fad60771304e2.tar.bz2
[multiple changes]
2013-04-11 Robert Dewar <dewar@adacore.com> * atree.h: Add declarations for Flag255-Flag289 Fix declaration of Field30 (was wrong, but no effect, since not yet referenced by back end) Add declarations for Field31-Field35 Add declarations for Node31-Node35. * einfo.ads, einfo.adb (Has_Invariants): No longer applies to procedures. (Has_Predicates): No longer applies to functions. (Is_Predicate_Function): New flag. (Is_Predicate_Function_M): New flag. (Is_Invariant_Procedure): New flag. (Predicate_Function_M): New function. (Set_Predicate_Function_M): New procedure. * exp_ch11.adb (Expand_N_Raise_Expression): Take care of special case of appearing in predicate used for membership test. * exp_ch3.adb (Insert_Component_Invariant_Checks): Set Is_Invariant_Procedure flag. * exp_ch4.adb (Expand_Op_In): Call special predicate function that takes care of raise_expression nodes in the predicate. * exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for membership case. * sem_ch13.adb (Build_Predicate_Functions): New name for Build_Predicate_Function. Major rewrite to take care of raise expression in predicate for membership tests. * sem_res.adb (Resolve_Actuals): Include both predicate functions in defense against infinite predicate function loops. * sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag. 2013-04-11 Robert Dewar <dewar@adacore.com> * sem_prag.adb: Minor reformatting. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: Generate reference for component of anonymous access type. From-SVN: r197766
Diffstat (limited to 'gcc/ada/lib-xref.adb')
-rw-r--r--gcc/ada/lib-xref.adb10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/ada/lib-xref.adb b/gcc/ada/lib-xref.adb
index 2f01dd4..bf3f035 100644
--- a/gcc/ada/lib-xref.adb
+++ b/gcc/ada/lib-xref.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1998-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1998-2013, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -2047,8 +2047,8 @@ package body Lib.Xref is
Ctyp := '*';
end if;
- -- Special handling for access parameters and objects of
- -- an anonymous access type.
+ -- Special handling for access parameters and objects and
+ -- components of an anonymous access type.
if Ekind_In (Etype (XE.Key.Ent),
E_Anonymous_Access_Type,
@@ -2056,7 +2056,9 @@ package body Lib.Xref is
E_Anonymous_Access_Protected_Subprogram_Type)
then
if Is_Formal (XE.Key.Ent)
- or else Ekind_In (XE.Key.Ent, E_Variable, E_Constant)
+ or else
+ Ekind_In
+ (XE.Key.Ent, E_Variable, E_Constant, E_Component)
then
Ctyp := 'p';
end if;