summaryrefslogtreecommitdiff
path: root/gcc/ada/a-rttiev.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-08 10:32:07 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-08 10:32:07 +0000
commitf3e4db9624752c660db45f471b448da9e4789c8b (patch)
treec604f48cd1d2146c097de1c9ebfebfdbcf9457ec /gcc/ada/a-rttiev.adb
parentcf685aee48a4976a48995b0c5ec2c5d4296fc50b (diff)
downloadgcc-f3e4db9624752c660db45f471b448da9e4789c8b.tar.gz
2010-10-08 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): If the expression in an others choice is a literal analyze it now to enable later optimizations. * exp_aggr.adb (Expand_Record_Aggregate): An aggregate with static size and components can be handled by the backend even if it is of a limited type. 2010-10-08 Arnaud Charlet <charlet@adacore.com> * a-rttiev.adb (task Timer): Since this package may be elaborated before System.Interrupt, we need to call Setup_Interrupt_Mask explicitly to ensure that this task has the proper signal mask. 2010-10-08 Robert Dewar <dewar@adacore.com> * freeze.adb (Freeze_Entity): For array case, move some processing for pragma Pack, Component_Size clause and atomic/volatile components here instead of trying to do the job in Sem_Ch13 and Freeze. * layout.adb: Use new Addressable function * sem_ch13.adb (Analyze_Attribute_Representation_Clause, case Component_Size): Move some handling to freeze point in Freeze.Freeze_Entity. * sem_prag.adb (Analyze_pragma, case Pack): Move some handling to freeze point in Freese.Freeze_Entity. * sem_util.ads, sem_util.adb (Addressable): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165159 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/a-rttiev.adb')
-rw-r--r--gcc/ada/a-rttiev.adb9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ada/a-rttiev.adb b/gcc/ada/a-rttiev.adb
index 2fe78212c3d..1c1fe859dd5 100644
--- a/gcc/ada/a-rttiev.adb
+++ b/gcc/ada/a-rttiev.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2005-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2005-2010, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -32,6 +32,7 @@
with System.Task_Primitives.Operations;
with System.Tasking.Utilities;
with System.Soft_Links;
+with System.Interrupt_Management.Operations;
with Ada.Containers.Doubly_Linked_Lists;
pragma Elaborate_All (Ada.Containers.Doubly_Linked_Lists);
@@ -98,6 +99,12 @@ package body Ada.Real_Time.Timing_Events is
begin
System.Tasking.Utilities.Make_Independent;
+ -- Since this package may be elaborated before System.Interrupt,
+ -- we need to call Setup_Interrupt_Mask explicitly to ensure that
+ -- this task has the proper signal mask.
+
+ System.Interrupt_Management.Operations.Setup_Interrupt_Mask;
+
-- We await the call to Start to ensure that Event_Queue_Lock has been
-- initialized by the package executable part prior to accessing it in
-- the loop. The task is activated before the first statement of the