summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch3.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-21 10:05:09 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-21 10:05:09 +0000
commit0a116e176dc68bbb95a8f2780ae411e274a6a5b6 (patch)
tree421ea6dd7eec74742bbf1b7b282d8f26de7f904c /gcc/ada/exp_ch3.adb
parent174d1afa08836a86d95abe73912b47210e8000db (diff)
downloadgcc-0a116e176dc68bbb95a8f2780ae411e274a6a5b6.tar.gz
2010-10-21 Vincent Celier <celier@adacore.com>
* vms_data.ads: Add new qualifiers /SRC_INFO= and /UNCHECKED_SHARED_LIB_IMPORTS for GNAT COMPILE. Correct qualifier /SRC_INFO= for GNAT MAKE 2010-10-21 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Flatten): An association for a subtype may be an expanded name. (Safe_Left_Hand_Side): An unchecked conversion is part of a safe left-hand side if the expression is. (Is_Safe_Index): new predicate * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Indicate that the generated Rep_To_Pos function is a Pure_Function. 2010-10-21 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Document Invariant pragma. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165759 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_ch3.adb')
-rw-r--r--gcc/ada/exp_ch3.adb5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb
index 957dc0bd202..fb2732182e0 100644
--- a/gcc/ada/exp_ch3.adb
+++ b/gcc/ada/exp_ch3.adb
@@ -5858,6 +5858,11 @@ package body Exp_Ch3 is
Set_TSS (Typ, Fent);
Set_Is_Pure (Fent);
+ -- The Pure flag will be reset is the current context is not pure.
+ -- For optimization purposes and constant-folding, indicate that the
+ -- Rep_To_Pos function can be considered free of side effects.
+
+ Set_Has_Pragma_Pure_Function (Fent);
if not Debug_Generated_Code then
Set_Debug_Info_Off (Fent);