aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/xsinfo.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2010-10-26 14:19:56 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2010-10-26 14:19:56 +0200
commitd347f5722f311a63908da11d492428af8f4563a4 (patch)
tree3f8b90ada92674382721d695cfa5f7417e9e04d6 /gcc/ada/xsinfo.adb
parent038140ede0175799d17e489b3509c218ee4fc2f1 (diff)
downloadgcc-d347f5722f311a63908da11d492428af8f4563a4.zip
gcc-d347f5722f311a63908da11d492428af8f4563a4.tar.gz
gcc-d347f5722f311a63908da11d492428af8f4563a4.tar.bz2
[multiple changes]
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. From-SVN: r165946
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 691e901..e3917a6 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;