aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/frontend.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2012-08-06 10:02:35 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2012-08-06 10:02:35 +0200
commita39a553eacce1f39fac4cffc0f5768bee425c1a1 (patch)
tree0ce70598eeda17f17973df3cf9483c742073238d /gcc/ada/frontend.adb
parent5eeeed5e1a9ee8ea9fbff247c9cc6fd093fa5dcd (diff)
downloadgcc-a39a553eacce1f39fac4cffc0f5768bee425c1a1.zip
gcc-a39a553eacce1f39fac4cffc0f5768bee425c1a1.tar.gz
gcc-a39a553eacce1f39fac4cffc0f5768bee425c1a1.tar.bz2
[multiple changes]
2012-08-06 Hristian Kirtchev <kirtchev@adacore.com> * sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are now unconditionally passed by reference. IN parameters subject to convention C_Pass_By_Copy are passed by copy, otherwise they are passed by reference. 2012-08-06 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): According to AI95-0303, protected objects with interrupt handlers can be declared in nested scopes. This is a binding interpretation, and thus applies to all versions of the compiler. 2012-08-06 Robert Dewar <dewar@adacore.com> * frontend.adb, exp_aggr.adb: Minor reformatting. 2012-08-06 Thomas Quinot <quinot@adacore.com> * par-endh.adb: Minor reformatting. From-SVN: r190162
Diffstat (limited to 'gcc/ada/frontend.adb')
-rw-r--r--gcc/ada/frontend.adb7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ada/frontend.adb b/gcc/ada/frontend.adb
index 13d2833..749e948 100644
--- a/gcc/ada/frontend.adb
+++ b/gcc/ada/frontend.adb
@@ -282,8 +282,13 @@ begin
-- a context for their semantic processing.
if Config_Pragmas /= Error_List
- and then not Fatal_Error (Main_Unit)
and then Operating_Mode /= Check_Syntax
+
+ -- Do not attempt to process deferred configuration pragmas if the main
+ -- unit failed to load, to avoid cascaded inconsistencies that can lead
+ -- to a compiler crash.
+
+ and then not Fatal_Error (Main_Unit)
then
-- Pragmas that require some semantic activity, such as
-- Interrupt_State, cannot be processed until the main unit