summaryrefslogtreecommitdiff
path: root/gcc/ada/gnat1drv.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2013-04-11 10:20:34 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2013-04-11 10:20:34 +0000
commit6f0d10f770856a87cc116bc7147c3a06a4045c0e (patch)
treed23582872d684e82a1e6aea153c21774a1fed4ae /gcc/ada/gnat1drv.adb
parent4a4eb23cfb911b68dd3f13822345a5f477a264ca (diff)
downloadgcc-6f0d10f770856a87cc116bc7147c3a06a4045c0e.tar.gz
2013-04-11 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb: Minor reformatting. 2013-04-11 Yannick Moy <moy@adacore.com> * ali-util.adb (Read_Withed_ALIs): Do not consider it an error to read ALI files with No_Object=True in Alfa mode. * gnat1drv.adb: Set appropriately Back_End_Mode in Alfa mode, whether this is during frame condition generation of translation to Why. 2013-04-11 Robert Dewar <dewar@adacore.com> * exp_ch4.adb: Minor code reorganization * types.ads: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197759 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/gnat1drv.adb')
-rw-r--r--gcc/ada/gnat1drv.adb19
1 files changed, 15 insertions, 4 deletions
diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb
index 37a4fb2fcae..cd0d6504d2b 100644
--- a/gcc/ada/gnat1drv.adb
+++ b/gcc/ada/gnat1drv.adb
@@ -1043,13 +1043,24 @@ begin
elsif Main_Kind in N_Generic_Renaming_Declaration then
Back_End_Mode := Generate_Object;
- -- It is not an error to analyze (in CodePeer mode or Alfa mode with
- -- generation of Why) a spec which requires a body, when the body is
- -- not available.
+ -- It is not an error to analyze in CodePeer mode a spec which requires
+ -- a body, in order to generate SCIL for this spec.
- elsif CodePeer_Mode or (Alfa_Mode and not Frame_Condition_Mode) then
+ elsif CodePeer_Mode then
Back_End_Mode := Generate_Object;
+ -- It is not an error to analyze in Alfa mode a spec which requires a
+ -- body, when the body is not available. During frame condition
+ -- generation, the corresponding ALI file is generated. During
+ -- translation to Why, Why code is generated for the spec.
+
+ elsif Alfa_Mode then
+ if Frame_Condition_Mode then
+ Back_End_Mode := Declarations_Only;
+ else
+ Back_End_Mode := Generate_Object;
+ end if;
+
-- In all other cases (specs which have bodies, generics, and bodies
-- where subunits are missing), we cannot generate code and we generate
-- a warning message. Note that generic instantiations are gone at this