aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch7.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2009-11-30 14:45:45 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2009-11-30 14:45:45 +0100
commit226e989e7e81f44758f112c719f16d93ccf8be19 (patch)
treed05412194c6d56eeba99f6713d5010351fe927f6 /gcc/ada/exp_ch7.adb
parent207b17442a9e3a2f0773373ec0f4ca27bda00e2d (diff)
downloadgcc-226e989e7e81f44758f112c719f16d93ccf8be19.zip
gcc-226e989e7e81f44758f112c719f16d93ccf8be19.tar.gz
gcc-226e989e7e81f44758f112c719f16d93ccf8be19.tar.bz2
[multiple changes]
2009-11-30 Emmanuel Briot <briot@adacore.com> * clean.adb ("-eL"): Also set Follow_Links_For_Dirs, to match what is done in other project-aware tools like gnatmake and gprbuild. 2009-11-30 Jerome Lambourg <lambourg@adacore.com> * exp_ch3.adb (Make_Predefined_Primitive_Specs): Take care of CIL ValueTypes. * exp_ch7.adb (Needs_Finalization): Do not finalize CIL valuetypes. * sem_util.adb (Is_Value_Type): Protect against invalid calls to Chars (Is_Delegate): New method used for CIL. * sem_util.ads (Is_Delegate): New method for CIL handling. (Is_Value_Type): Improve documentation. 2009-11-30 Ed Schonberg <schonberg@adacore.com> * errout.adb (Unwind_Internal_Type): Improve error reporting if the type is an anonymous access to subprogram that is the type of a formal in a subprogram spec. 2009-11-30 Vincent Celier <celier@adacore.com> * prj-nmsc.adb (Check_Interfaces): In a Stand-Alone Library project, if attribute Interfaces is not declared, then Library_Interface should define the interfaces. 2009-11-30 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb: New semantics for Annotate. From-SVN: r154800
Diffstat (limited to 'gcc/ada/exp_ch7.adb')
-rw-r--r--gcc/ada/exp_ch7.adb3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ada/exp_ch7.adb b/gcc/ada/exp_ch7.adb
index a4f6a66..980acf6 100644
--- a/gcc/ada/exp_ch7.adb
+++ b/gcc/ada/exp_ch7.adb
@@ -3294,7 +3294,8 @@ package body Exp_Ch7 is
return (Is_Class_Wide_Type (T)
and then not In_Finalization_Root (T)
- and then not Restriction_Active (No_Finalization))
+ and then not Restriction_Active (No_Finalization)
+ and then not Is_Value_Type (Etype (T)))
or else Is_Controlled (T)
or else Has_Some_Controlled_Component (T)
or else (Is_Concurrent_Type (T)