summaryrefslogtreecommitdiff
path: root/gcc/ada/symbols-processing-vms-ia64.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-07-13 12:24:23 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-07-13 12:24:23 +0000
commitc23ec5daacf6b48a2112c3d7b2ea07844fda6eed (patch)
tree19c848f498fd1aeb18d050c15ec9536a48e2a910 /gcc/ada/symbols-processing-vms-ia64.adb
parentdffd0a90b889a398f1ebdf22558d592248439ec8 (diff)
downloadgcc-c23ec5daacf6b48a2112c3d7b2ea07844fda6eed.tar.gz
2009-07-13 Robert Dewar <dewar@adacore.com>
* prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb, prj-strt.ads: Minor reformatting 2009-07-13 Thomas Quinot <quinot@adacore.com> * exp_dist.adb (Build_From_Any_Call): For the case of a generic type, set the type of the From_Any call to the base type. 2009-07-13 Doug Rupp <rupp@adacore.com> * symbols-processing-vms-ia64.adb (Process): Add variables and constants to retrieve and check for symbol visibility. 2009-07-13 Javier Miranda <miranda@adacore.com> * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to the identical type we remove the conversion completely because it is useless. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149575 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/symbols-processing-vms-ia64.adb')
-rw-r--r--gcc/ada/symbols-processing-vms-ia64.adb12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ada/symbols-processing-vms-ia64.adb b/gcc/ada/symbols-processing-vms-ia64.adb
index 0eb1af7e4d6..beb099e40b0 100644
--- a/gcc/ada/symbols-processing-vms-ia64.adb
+++ b/gcc/ada/symbols-processing-vms-ia64.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2004-2007, Free Software Foundation, Inc. --
+-- Copyright (C) 2004-2009, 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- --
@@ -85,9 +85,14 @@ package body Processing is
Stname : Integer;
Stinfo : Character;
+ Stother : Character;
Sttype : Integer;
Stbind : Integer;
Stshndx : Integer;
+ Stvis : Integer;
+
+ STV_Internal : constant := 1;
+ STV_Hidden : constant := 2;
Section_Headers : Section_Header_Ptr;
@@ -340,7 +345,7 @@ package body Processing is
while Offset < End_Symtab loop
Get_Word (Stname);
Get_Byte (Stinfo);
- Get_Byte (B);
+ Get_Byte (Stother);
Get_Half (Stshndx);
for J in 1 .. 4 loop
Get_Word (W);
@@ -348,10 +353,13 @@ package body Processing is
Sttype := Integer'(Character'Pos (Stinfo)) mod 16;
Stbind := Integer'(Character'Pos (Stinfo)) / 16;
+ Stvis := Integer'(Character'Pos (Stother)) mod 4;
if (Sttype = 1 or else Sttype = 2)
and then Stbind /= 0
and then Stshndx /= 0
+ and then Stvis /= STV_Internal
+ and then Stvis /= STV_Hidden
then
-- Check if this is a symbol from a generic body