diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-04-11 10:20:34 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-04-11 10:20:34 +0000 |
commit | 6f0d10f770856a87cc116bc7147c3a06a4045c0e (patch) | |
tree | d23582872d684e82a1e6aea153c21774a1fed4ae /gcc/ada/gnat1drv.adb | |
parent | 4a4eb23cfb911b68dd3f13822345a5f477a264ca (diff) | |
download | gcc-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.adb | 19 |
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 |