diff options
author | Steve Baird <baird@adacore.com> | 2020-08-06 11:09:50 -0700 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-10-22 08:11:26 -0400 |
commit | 7b3bda2ce269e858b2a7defa904bc748bc0b5854 (patch) | |
tree | ec0d6059aeaa428ddbe569bf418f38d6da40da41 /gcc/tree-ssa-loop-split.c | |
parent | 944fed738c3f300b4e3cf5f89a4d2b40c85e0a75 (diff) | |
download | gcc-7b3bda2ce269e858b2a7defa904bc748bc0b5854.zip gcc-7b3bda2ce269e858b2a7defa904bc748bc0b5854.tar.gz gcc-7b3bda2ce269e858b2a7defa904bc748bc0b5854.tar.bz2 |
[Ada] AI12-0211: Consistency of inherited nonoverridable aspects
gcc/ada/
* aspects.ads: Introduce the subtype Nonoverridable_Aspect_Id,
whose Static_Predicate reflects the list of nonoverridable
aspects given in Ada RM 13.1.1(18.7).
* sem_util.ads, sem_util.adb: Add two new visible subprograms,
Check_Inherited_Nonoverridable_Aspects and Is_Confirming. The
former is used to check the consistency of inherited
nonoverridable aspects from multiple sources. The latter
indicates whether two aspect specifications for a nonoverridable
aspect are confirming. Because of compatibility concerns in
compiling QGen, Is_Confirming always returns True if
Relaxed_RM_Semantics (i.e., -gnatd.M) is specified.
* sem_ch3.adb (Derived_Type_Declaration): Call new
Check_Inherited_Nonoverridable_Aspects procedure if interface
list is non-empty.
* sem_ch9.adb (Check_Interfaces): Call new
Check_Inherited_Nonoverridable_Aspects procedure if interface
list is non-empty.
* sem_ch13.adb (Analyze_Aspect_Specifications): When an explicit
aspect specification overrides an inherited nonoverridable
aspect, check that the explicit specification is confirming.
Diffstat (limited to 'gcc/tree-ssa-loop-split.c')
0 files changed, 0 insertions, 0 deletions