diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-08-06 10:02:35 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-08-06 10:02:35 +0200 |
commit | a39a553eacce1f39fac4cffc0f5768bee425c1a1 (patch) | |
tree | 0ce70598eeda17f17973df3cf9483c742073238d /gcc/ada/frontend.adb | |
parent | 5eeeed5e1a9ee8ea9fbff247c9cc6fd093fa5dcd (diff) | |
download | gcc-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.adb | 7 |
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 |