summaryrefslogtreecommitdiff
path: root/gcc/ada/sem_disp.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-31 08:59:01 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-31 08:59:01 +0000
commit6854063cad4f60406d41d8f5b4fcd60429293baf (patch)
treead656d24959df5b9496983f927a2a5e6ba1f20a1 /gcc/ada/sem_disp.adb
parent99f61ee1b47f764fc7943c6c2a99becdcc00b787 (diff)
downloadgcc-6854063cad4f60406d41d8f5b4fcd60429293baf.tar.gz
2011-08-31 Javier Miranda <miranda@adacore.com>
* sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is found check if there is a class-wide subprogram covering the primitive. 2011-08-31 Yannick Moy <moy@adacore.com> * sem_res.adb: Further cases where full expansion test is needed, rather than expansion test. 2011-08-31 Pascal Obry <obry@adacore.com> * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list) 2011-08-31 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb: Handle iterators over derived container types. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master. (Has_Anonymous_Master): New routine. (Set_Has_Anonymous_Master): New routine. (Write_Entity_Flags): Add an entry for Has_Anonymous_Master. * exp_ch4.adb: Add with and use clause for Sem_Ch8. (Current_Anonymous_Master): New routine. (Current_Unit_First_Declaration): Removed. (Current_Unit_Scope): Removed. (Expand_N_Allocator): Anonymous access-to-controlled types now chain their objects on a per-unit heterogeneous finalization master. 2011-08-31 Matthew Heaney <heaney@adacore.com> * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets array. 2011-08-31 Jose Ruiz <ruiz@adacore.com> * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask when not needed. 2011-08-31 Gary Dismukes <dismukes@adacore.com> * sem_disp.adb (Propagate_Tag): Return without propagating in the case where the actual is an unexpanded call to 'Input. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178361 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_disp.adb')
-rw-r--r--gcc/ada/sem_disp.adb8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ada/sem_disp.adb b/gcc/ada/sem_disp.adb
index 7e0da64df67..7e64d98cd67 100644
--- a/gcc/ada/sem_disp.adb
+++ b/gcc/ada/sem_disp.adb
@@ -2262,6 +2262,14 @@ package body Sem_Disp is
then
return;
+ -- When expansion is suppressed, an unexpanded call to 'Input can occur,
+ -- and in that case we can simply return.
+
+ elsif Nkind (Actual) = N_Attribute_Reference then
+ pragma Assert (Attribute_Name (Actual) = Name_Input);
+
+ return;
+
-- Only other possibilities are parenthesized or qualified expression,
-- or an expander-generated unchecked conversion of a function call to
-- a stream Input attribute.