summaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-12 09:10:13 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-12 09:10:13 +0000
commit30e864df6d529a64c380fc365bdc8f9368cf5e51 (patch)
tree34e72a80fb14595699c393795268345a17abec04 /gcc/ada/sinfo.ads
parent5a80f21c5e77531666ddb20fce50ea8b1663cffc (diff)
downloadgcc-30e864df6d529a64c380fc365bdc8f9368cf5e51.tar.gz
2010-10-12 Robert Dewar <dewar@adacore.com>
* aspects.ads, aspects.adb (Move_Aspects): New procedure. * atree.ads, atree.adb: (New_Copy): Does not copy aspect specifications * sinfo.ads, par-ch3.adb, par-ch6.adb, par-ch7.adb, par-ch9.adb, par-endh.adb, par-ch13.adb, par-ch12.adb: Modify grammar to include aspect specifications. Recognize aspect specifications for all cases * par.adb: Recognize aspect specifications for all cases * sem_ch12.ads, sem_ch12.adb (Copy_Generic_Node): Copies aspect specifications. * sem_ch3.adb (Analyze_Subtype_Declaration): Improve patch to freeze generic actual types (was missing some guards before). * sem_ch9.adb (Analyze_Single_Protected_Declaration): Copy aspects to generated object (Analyze_Single_Task_Declaration): Copy aspects to generated object 2010-10-12 Eric Botcazou <ebotcazou@adacore.com> * usage.adb (usage): Adjust line for -gnatn switch. 2010-10-12 Robert Dewar <dewar@adacore.com> * sem_attr.adb (Eval_Attribute): Only leave change active for aspect spec case. 2010-10-12 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Declaration): If this is a declaration of a null procedure resolve the types of the profile of the generated null body now. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165353 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sinfo.ads')
-rw-r--r--gcc/ada/sinfo.ads74
1 files changed, 50 insertions, 24 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index ed14a866334..cc2704063ca 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -2120,7 +2120,9 @@ package Sinfo is
-- FULL_TYPE_DECLARATION ::=
-- type DEFINING_IDENTIFIER [KNOWN_DISCRIMINANT_PART]
- -- is TYPE_DEFINITION;
+ -- is TYPE_DEFINITION
+ -- [ASPECT_SPECIFICATIONS];
+
-- | TASK_TYPE_DECLARATION
-- | PROTECTED_TYPE_DECLARATION
@@ -2227,11 +2229,14 @@ package Sinfo is
-- OBJECT_DECLARATION ::=
-- DEFINING_IDENTIFIER_LIST : [aliased] [constant]
- -- [NULL_EXCLUSION] SUBTYPE_INDICATION [:= EXPRESSION];
+ -- [NULL_EXCLUSION] SUBTYPE_INDICATION [:= EXPRESSION]
+ -- [ASPECT_SPECIFICATIONS];
-- | DEFINING_IDENTIFIER_LIST : [aliased] [constant]
- -- ACCESS_DEFINITION [:= EXPRESSION];
+ -- ACCESS_DEFINITION [:= EXPRESSION]
+ -- [ASPECT_SPECIFICATIONS];
-- | DEFINING_IDENTIFIER_LIST : [aliased] [constant]
- -- ARRAY_TYPE_DEFINITION [:= EXPRESSION];
+ -- ARRAY_TYPE_DEFINITION [:= EXPRESSION]
+ -- [ASPECT_SPECIFICATIONS];
-- | SINGLE_TASK_DECLARATION
-- | SINGLE_PROTECTED_DECLARATION
@@ -2841,7 +2846,8 @@ package Sinfo is
-- COMPONENT_DECLARATION ::=
-- DEFINING_IDENTIFIER_LIST : COMPONENT_DEFINITION
- -- [:= DEFAULT_EXPRESSION];
+ -- [:= DEFAULT_EXPRESSION]
+ -- [ASPECT_SPECIFICATIONS];
-- Note: although the syntax does not permit a component definition to
-- be an anonymous array (and the parser will diagnose such an attempt
@@ -4209,7 +4215,9 @@ package Sinfo is
-- 6.1 Subprogram Declaration --
---------------------------------
- -- SUBPROGRAM_DECLARATION ::= SUBPROGRAM_SPECIFICATION;
+ -- SUBPROGRAM_DECLARATION ::=
+ -- SUBPROGRAM_SPECIFICATION
+ -- [ASPECT_SPECIFICATIONS];
-- N_Subprogram_Declaration
-- Sloc points to FUNCTION or PROCEDURE
@@ -4223,7 +4231,8 @@ package Sinfo is
------------------------------------------
-- ABSTRACT_SUBPROGRAM_DECLARATION ::=
- -- SUBPROGRAM_SPECIFICATION is abstract;
+ -- SUBPROGRAM_SPECIFICATION is abstract
+ -- [ASPECT_SPECIFICATIONS];
-- N_Abstract_Subprogram_Declaration
-- Sloc points to ABSTRACT
@@ -4640,7 +4649,9 @@ package Sinfo is
-- 7.1 Package Declaration --
------------------------------
- -- PACKAGE_DECLARATION ::= PACKAGE_SPECIFICATION;
+ -- PACKAGE_DECLARATION ::=
+ -- PACKAGE_SPECIFICATION
+ -- [ASPECT_SPECIFICATIONS];
-- Note: the activation chain entity for a package spec is used for
-- all tasks declared in the package spec, or in the package body.
@@ -4889,7 +4900,8 @@ package Sinfo is
-- TASK_TYPE_DECLARATION ::=
-- task type DEFINING_IDENTIFIER [KNOWN_DISCRIMINANT_PART]
- -- [is [new INTERFACE_LIST with] TASK_DEFINITION];
+ -- [is [new INTERFACE_LIST with] TASK_DEFINITION]
+ -- [ASPECT_SPECIFICATIONS];
-- N_Task_Type_Declaration
-- Sloc points to TASK
@@ -4906,7 +4918,8 @@ package Sinfo is
-- SINGLE_TASK_DECLARATION ::=
-- task DEFINING_IDENTIFIER
- -- [is [new INTERFACE_LIST with] TASK_DEFINITION];
+ -- [is [new INTERFACE_LIST with] TASK_DEFINITION]
+ -- [ASPECT_SPECIFICATIONS];
-- N_Single_Task_Declaration
-- Sloc points to TASK
@@ -4973,7 +4986,8 @@ package Sinfo is
-- PROTECTED_TYPE_DECLARATION ::=
-- protected type DEFINING_IDENTIFIER [KNOWN_DISCRIMINANT_PART]
- -- is [new INTERFACE_LIST with] PROTECTED_DEFINITION;
+ -- is [new INTERFACE_LIST with] PROTECTED_DEFINITION
+ -- {ASPECT_SPECIFICATIONS];
-- Note: protected type declarations are not permitted in Ada 83 mode
@@ -4992,7 +5006,8 @@ package Sinfo is
-- SINGLE_PROTECTED_DECLARATION ::=
-- protected DEFINING_IDENTIFIER
- -- is [new INTERFACE_LIST with] PROTECTED_DEFINITION;
+ -- is [new INTERFACE_LIST with] PROTECTED_DEFINITION
+ -- [ASPECT_SPECIFICATIONS];
-- Note: single protected declarations are not allowed in Ada 83 mode
@@ -5733,7 +5748,8 @@ package Sinfo is
-- 11.1 Exception Declaration --
---------------------------------
- -- EXCEPTION_DECLARATION ::= DEFINING_IDENTIFIER_LIST : exception;
+ -- EXCEPTION_DECLARATION ::= DEFINING_IDENTIFIER_LIST : exception
+ -- [ASPECT_SPECIFICATIONS];
-- For consistency with object declarations etc., the parser converts
-- the case of multiple identifiers being declared to a series of
@@ -5902,7 +5918,8 @@ package Sinfo is
---------------------------------------
-- GENERIC_PACKAGE_DECLARATION ::=
- -- GENERIC_FORMAL_PART PACKAGE_SPECIFICATION;
+ -- GENERIC_FORMAL_PART PACKAGE_SPECIFICATION
+ -- [ASPECT_SPECIFICATIONS];
-- Note: when we do generics right, the Activation_Chain_Entity entry
-- for this node can be removed (since the expander won't see generic
@@ -5941,13 +5958,16 @@ package Sinfo is
-- GENERIC_INSTANTIATION ::=
-- package DEFINING_PROGRAM_UNIT_NAME is
- -- new generic_package_NAME [GENERIC_ACTUAL_PART];
+ -- new generic_package_NAME [GENERIC_ACTUAL_PART]
+ -- [ASPECT_SPECIFICATIONS];
-- | [[not] overriding]
-- procedure DEFINING_PROGRAM_UNIT_NAME is
- -- new generic_procedure_NAME [GENERIC_ACTUAL_PART];
+ -- new generic_procedure_NAME [GENERIC_ACTUAL_PART]
+ -- [ASPECT_SPECIFICATIONS];
-- | [[not] overriding]
-- function DEFINING_DESIGNATOR is
- -- new generic_function_NAME [GENERIC_ACTUAL_PART];
+ -- new generic_function_NAME [GENERIC_ACTUAL_PART]
+ -- [ASPECT_SPECIFICATIONS];
-- N_Package_Instantiation
-- Sloc points to PACKAGE
@@ -6031,9 +6051,11 @@ package Sinfo is
-- FORMAL_OBJECT_DECLARATION ::=
-- DEFINING_IDENTIFIER_LIST :
- -- MODE [NULL_EXCLUSION] SUBTYPE_MARK [:= DEFAULT_EXPRESSION];
+ -- MODE [NULL_EXCLUSION] SUBTYPE_MARK [:= DEFAULT_EXPRESSION]
+ -- [ASPECT_SPECIFICATIONS];
-- | DEFINING_IDENTIFIER_LIST :
- -- MODE ACCESS_DEFINITION [:= DEFAULT_EXPRESSION];
+ -- MODE ACCESS_DEFINITION [:= DEFAULT_EXPRESSION]
+ -- [ASPECT_SPECIFICATIONS];
-- Although the syntax allows multiple identifiers in the list, the
-- semantics is as though successive declarations were given with
@@ -6061,7 +6083,8 @@ package Sinfo is
-- FORMAL_TYPE_DECLARATION ::=
-- type DEFINING_IDENTIFIER [DISCRIMINANT_PART]
- -- is FORMAL_TYPE_DEFINITION;
+ -- is FORMAL_TYPE_DEFINITION
+ -- [ASPECT_SPECIFICATIONS];
-- N_Formal_Type_Declaration
-- Sloc points to TYPE
@@ -6208,7 +6231,8 @@ package Sinfo is
--------------------------------------------------
-- FORMAL_CONCRETE_SUBPROGRAM_DECLARATION ::=
- -- with SUBPROGRAM_SPECIFICATION [is SUBPROGRAM_DEFAULT];
+ -- with SUBPROGRAM_SPECIFICATION [is SUBPROGRAM_DEFAULT]
+ -- [ASPECT_SPECIFICATIONS];
-- N_Formal_Concrete_Subprogram_Declaration
-- Sloc points to WITH
@@ -6224,7 +6248,8 @@ package Sinfo is
--------------------------------------------------
-- FORMAL_ABSTRACT_SUBPROGRAM_DECLARATION ::=
- -- with SUBPROGRAM_SPECIFICATION is abstract [SUBPROGRAM_DEFAULT];
+ -- with SUBPROGRAM_SPECIFICATION is abstract [SUBPROGRAM_DEFAULT]
+ -- [ASPECT_SPECIFICATIONS];
-- N_Formal_Abstract_Subprogram_Declaration
-- Sloc points to WITH
@@ -6258,7 +6283,8 @@ package Sinfo is
-- FORMAL_PACKAGE_DECLARATION ::=
-- with package DEFINING_IDENTIFIER
- -- is new generic_package_NAME FORMAL_PACKAGE_ACTUAL_PART;
+ -- is new generic_package_NAME FORMAL_PACKAGE_ACTUAL_PART
+ -- [ASPECT_SPECIFICATIONS];
-- Note: formal package declarations not allowed in Ada 83 mode
@@ -6384,7 +6410,7 @@ package Sinfo is
-- entry in the list of aspects. So we use this grammar instead:
-- ASPECT_SPECIFICATIONS ::=
- -- with ASPECT_SPECIFICATION {, ASPECT_SPECIFICATION};
+ -- with ASPECT_SPECIFICATION {, ASPECT_SPECIFICATION}
-- ASPECT_SPECIFICATION =>
-- ASPECT_MARK [=> ASPECT_DEFINITION]