summaryrefslogtreecommitdiff
path: root/gcc/ada/xsinfo.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-26 12:19:56 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-26 12:19:56 +0000
commit5b990e0882fb69becb677434142fa028ae1e236e (patch)
tree3f8b90ada92674382721d695cfa5f7417e9e04d6 /gcc/ada/xsinfo.adb
parentb38e41313a2674d6547ba6ed6abc433284018207 (diff)
downloadgcc-5b990e0882fb69becb677434142fa028ae1e236e.tar.gz
2010-10-26 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb (Is_Base_Type): New function, use it where appropriate. * exp_ch6.adb, exp_dbug.adb, exp_disp.adb, freeze.adb, lib-xref.adb, sem_aux.adb, sem_ch3.adb, sem_ch7.adb, sem_ch8.adb (Is_Base_Type): Use this new abstraction where appropriate. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb: Code clean up. 2010-10-26 Paul Hilfinger <hilfinger@adacore.com> * exp_dbug.ads: Document effect of 'pragma Unchecked_Union' on debugging data. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Note_Possible_Modification): If the target of an assignment is the bound variable in an iterator, the domain of iteration, i.e. array or container, is modified as well. 2010-10-26 Bob Duff <duff@adacore.com> * Make-generated.in: Make the relevant make targets depend on ceinfo.adb and csinfo.adb. * csinfo.adb, ceinfo.adb: Make sure it raises an exception on failure, so when called from xeinfo, the failure will be noticed. * sinfo.ads: Update comments to reflect the fact that xsinfo runs csinfo * xsinfo.adb, xeinfo.adb: Run ceinfo to check for errors. Close files. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb: Set properly parent field of operands of concatenation. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Check_Infinite_Recursion): A recursive call within a conditional expression or a case expression should not generate an infinite recursion warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165946 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/xsinfo.adb')
-rw-r--r--gcc/ada/xsinfo.adb16
1 files changed, 11 insertions, 5 deletions
diff --git a/gcc/ada/xsinfo.adb b/gcc/ada/xsinfo.adb
index 691e9016b69..e3917a639b8 100644
--- a/gcc/ada/xsinfo.adb
+++ b/gcc/ada/xsinfo.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2010, 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- --
@@ -35,10 +35,6 @@
-- sinfo.h Corresponding c header file
--- Note: this program assumes that sinfo.ads has passed the error checks
--- which are carried out by the CSinfo utility, so it does not duplicate
--- these checks and assumes the source is correct.
-
-- An optional argument allows the specification of an output file name to
-- override the default sinfo.h file name for the generated output file.
@@ -50,6 +46,8 @@ with Ada.Text_IO; use Ada.Text_IO;
with GNAT.Spitbol; use GNAT.Spitbol;
with GNAT.Spitbol.Patterns; use GNAT.Spitbol.Patterns;
+with CSinfo;
+
procedure XSinfo is
Done : exception;
@@ -115,6 +113,11 @@ procedure XSinfo is
-- Start of processing for XSinfo
begin
+ -- First run CSinfo to check for errors. Note that CSinfo is also a
+ -- stand-alone program that can be run separately.
+
+ CSinfo;
+
Set_Exit_Status (1);
Anchored_Mode := True;
@@ -238,10 +241,13 @@ begin
Getline;
end loop;
+ -- Can't get here; above loop only left via raise
exception
when Done =>
+ Close (InS);
Put_Line (Ofile, "");
+ Close (Ofile);
Set_Exit_Status (0);
end XSinfo;