summaryrefslogtreecommitdiff
path: root/gcc/ada/stand.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-02 15:07:10 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-02 15:07:10 +0000
commit8a8e8da496c163c8d653cc1e8b767070ecb7d0a6 (patch)
tree087f4f1beb010168ffcc29e64e612c8fb6af80e4 /gcc/ada/stand.ads
parent188c3ebb10bcdf79aa24a1d5c990ce7ce4e8bfea (diff)
downloadgcc-8a8e8da496c163c8d653cc1e8b767070ecb7d0a6.tar.gz
2011-08-02 Yannick Moy <moy@adacore.com>
* cstand.adb (Create_Standard): sets Is_In_ALFA component of standard types. * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA * sem_ch3.adb (Analyze_Object_Declaration): set Is_In_ALFA flag for objects (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes (Constrain_Integer): set Is_In_ALFA flag for integer subtypes (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration types. (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with non-static range. * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for functions whose return type is not in ALFA. (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram specifications. (Process_Formals): unset Is_In_ALFA flag for subprograms if a parameter's type is not in ALFA. * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard types are in ALFA. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177174 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/stand.ads')
-rw-r--r--gcc/ada/stand.ads30
1 files changed, 29 insertions, 1 deletions
diff --git a/gcc/ada/stand.ads b/gcc/ada/stand.ads
index dd5e9a795cc..40c51d06c03 100644
--- a/gcc/ada/stand.ads
+++ b/gcc/ada/stand.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, 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- --
@@ -313,6 +313,34 @@ package Stand is
Boolean_Literals : array (Boolean) of Entity_Id;
-- Entities for the two boolean literals, used by the expander
+ -- Standard types which are in ALFA are associated to True
+ Standard_Type_Is_In_ALFA : array (S_Types) of Boolean :=
+ (S_Boolean => True,
+
+ S_Short_Short_Integer => True,
+ S_Short_Integer => True,
+ S_Integer => True,
+ S_Long_Integer => True,
+ S_Long_Long_Integer => True,
+
+ S_Natural => True,
+ S_Positive => True,
+
+ S_Short_Float => False,
+ S_Float => False,
+ S_Long_Float => False,
+ S_Long_Long_Float => False,
+
+ S_Character => False,
+ S_Wide_Character => False,
+ S_Wide_Wide_Character => False,
+
+ S_String => False,
+ S_Wide_String => False,
+ S_Wide_Wide_String => False,
+
+ S_Duration => False);
+
-------------------------------------
-- Semantic Phase Special Entities --
-------------------------------------