From df62c1c110e8532b995b23540b7e3695729c0779 Mon Sep 17 00:00:00 2001 From: Jing Yu Date: Thu, 5 Nov 2009 15:11:04 -0800 Subject: Check in gcc sources for prebuilt toolchains in Eclair. --- gcc-4.2.1/gcc/ada/s-traces.ads | 116 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 gcc-4.2.1/gcc/ada/s-traces.ads (limited to 'gcc-4.2.1/gcc/ada/s-traces.ads') diff --git a/gcc-4.2.1/gcc/ada/s-traces.ads b/gcc-4.2.1/gcc/ada/s-traces.ads new file mode 100644 index 000000000..2c6d00984 --- /dev/null +++ b/gcc-4.2.1/gcc/ada/s-traces.ads @@ -0,0 +1,116 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS -- +-- -- +-- S Y S T E M . T R A C E S -- +-- -- +-- S p e c -- +-- -- +-- Copyright (C) 2001-2005 Free Software Foundation, Inc. -- +-- -- +-- GNARL 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- -- +-- ware Foundation; either version 2, or (at your option) any later ver- -- +-- sion. GNARL is distributed in the hope that it will be useful, but WITH- -- +-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- +-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- +-- for more details. You should have received a copy of the GNU General -- +-- Public License distributed with GNARL; see file COPYING. If not, write -- +-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, -- +-- Boston, MA 02110-1301, USA. -- +-- -- +-- As a special exception, if other files instantiate generics from this -- +-- unit, or you link this unit with other files to produce an executable, -- +-- this unit does not by itself cause the resulting executable to be -- +-- covered by the GNU General Public License. This exception does not -- +-- however invalidate any other reasons why the executable file might be -- +-- covered by the GNU Public License. -- +-- -- +-- GNAT was originally developed by the GNAT team at New York University. -- +-- Extensive contributions were provided by Ada Core Technologies Inc. -- +-- -- +------------------------------------------------------------------------------ + +-- This package implements functions for traces when tasking is not involved + +-- Warning : NO dependencies to tasking should be created here + +-- This package, and all its children are used to implement debug +-- informations + +-- A new primitive, Send_Trace_Info (Id : Trace_T; 'data') is introduced. +-- Trace_T is an event identifier, 'data' are the informations to pass +-- with the event. Thid procedure is used from within the Runtime to send +-- debug informations. + +-- This primitive is overloaded in System.Traces.Tasking and this package. + +-- Send_Trace_Info calls Send_Trace, in System.Traces.Send, which is trarget +-- dependent, to send the debug informations to a debugger, stream .. + +-- To add a new event, just add them to the Trace_T type, and write the +-- corresponding Send_Trace_Info procedure. It may be required for some +-- target to modify Send_Trace (eg. VxWorks). + +-- To add a new target, just adapt System.Traces.Send to your own purpose. + +package System.Traces is + pragma Preelaborate; + + type Trace_T is + ( + -- Events handled. + + -- Messages + -- + M_Accept_Complete, + M_Select_Else, + M_RDV_Complete, + M_Call_Complete, + M_Delay, + + -- Errors + -- + E_Missed, + E_Timeout, + E_Kill, + + -- Waiting events + -- + W_Call, + W_Accept, + W_Select, + W_Completion, + W_Delay, + WU_Delay, + + WT_Call, + WT_Select, + WT_Completion, + + -- Protected objects events + -- + PO_Call, + POT_Call, + PO_Run, + PO_Lock, + PO_Unlock, + PO_Done, + + -- Task handling events + -- + T_Create, + T_Activate, + T_Abort, + T_Terminate); + + -- Send_Trace_Info procedures + + -- They are overloaded, depending on the parameters passed with + -- the event, e.g. Time information, Task name, Accept name ... + + procedure Send_Trace_Info (Id : Trace_T); + + procedure Send_Trace_Info (Id : Trace_T; Timeout : Duration); + +end System.Traces; -- cgit v1.2.3