aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch6.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2011-11-04 15:09:05 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2011-11-04 15:09:05 +0100
commit1adaea169e06627aa8482d1afebf178a3ca67edf (patch)
tree9a92388832fcd63df076879c26d8b5b64096e21f /gcc/ada/exp_ch6.adb
parent4c9fe6c7494e31402c1c3ae4565aa03f70144258 (diff)
downloadgcc-1adaea169e06627aa8482d1afebf178a3ca67edf.zip
gcc-1adaea169e06627aa8482d1afebf178a3ca67edf.tar.gz
gcc-1adaea169e06627aa8482d1afebf178a3ca67edf.tar.bz2
[multiple changes]
2011-11-04 Robert Dewar <dewar@adacore.com> * sprint.adb (Sprint_Node_Actual, case Qualified_Expression): Avoid junk semicolon after argument of machine code Asm operand. 2011-11-04 Robert Dewar <dewar@adacore.com> * exp_ch11.adb (Generate_Push_Pop): Inhibit push/pop nodes in CodePeer mode or if restriction No_Exception_Handlers is present. * exp_ch6.adb (Expand_N_Subprogram_Body): (Inhibit push/pop nodes in CodePeer mode or if restriction No_Exception_Handlers is present. 2011-11-04 Robert Dewar <dewar@adacore.com> * s-tassta.adb, atree.ads, errout.adb, sinput.adb: Minor reformatting. 2011-11-04 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Specification): The specification is legal if it is a function that returns an abstract type, if it comes from an attribute renaming of a stream attribute of an abstract type. 2011-11-04 Gary Dismukes <dismukes@adacore.com> * exp_util.adb (Is_Possibly_Unaligned_Object): In case of indexed components, check whether recursively check whether the prefix denotes an unaligned object. 2011-11-04 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Analyze_Pragma, case Debug): The argument of the pragma is legal if it is an expanded name that denotes a procedure that be can called without parameters. 2011-11-04 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi (Performance Considerations) <Vectorization of loops>: New sub-section. <Other Optimization Switches>: Minor tweak. From-SVN: r180955
Diffstat (limited to 'gcc/ada/exp_ch6.adb')
-rw-r--r--gcc/ada/exp_ch6.adb6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb
index 993fa40..d609931 100644
--- a/gcc/ada/exp_ch6.adb
+++ b/gcc/ada/exp_ch6.adb
@@ -5679,10 +5679,14 @@ package body Exp_Ch6 is
end if;
-- If local-exception-to-goto optimization active, insert dummy push
- -- statements at start, and dummy pop statements at end.
+ -- statements at start, and dummy pop statements at end, but inhibit
+ -- this if we have No_Exception_Handlers, since they are useless and
+ -- intefere with analysis, e.g. by codepeer.
if (Debug_Flag_Dot_G
or else Restriction_Active (No_Exception_Propagation))
+ and then not Restriction_Active (No_Exception_Handlers)
+ and then not CodePeer_Mode
and then Is_Non_Empty_List (L)
then
declare