summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_code.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-31 18:15:40 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-31 18:15:40 +0000
commit29a753913cdef01ec6d8100eb0cea4933da9f21a (patch)
treea0fad22476c6b71855e4e022da5369a844414a66 /gcc/ada/exp_code.ads
parent41c0403d88a5418a13913179453f9cb89b15ef7e (diff)
downloadgcc-29a753913cdef01ec6d8100eb0cea4933da9f21a.tar.gz
2006-10-31 Robert Dewar <dewar@adacore.com>
* s-osinte-tru64.adb: Mark Asm statements Volatile to prevent warnings (seems a reasonable change anyway) Fixes new warnings * s-mastop-irix.adb: Add Volatile to Asm statements Suppresses warning, and seems appropriate in any case * s-osinte-vms.adb: Add Volatile to Asm statement * s-vaflop-vms-alpha.adb: Add Volatile to Asm statements * exp_code.ads, exp_code.adb (Asm_Input_Value): Note that Error can be returned. Add call to Check_Code_Statement git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118329 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_code.ads')
-rw-r--r--gcc/ada/exp_code.ads27
1 files changed, 16 insertions, 11 deletions
diff --git a/gcc/ada/exp_code.ads b/gcc/ada/exp_code.ads
index 71123372ac5..f844d085f5e 100644
--- a/gcc/ada/exp_code.ads
+++ b/gcc/ada/exp_code.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1996 Free Software Foundation, Inc. --
+-- Copyright (C) 1996-2006, 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,8 +32,7 @@ with System; use System;
package Exp_Code is
procedure Expand_Asm_Call (N : Node_Id);
- -- Expands a call to Asm or Asm_Volatile into an equivalent
- -- N_Code_Statement node.
+ -- Expands a call to Asm into an equivalent N_Code_Statement node
-- The following routines provide an abstract interface to analyze
-- code statements, for use by Gigi processing for code statements.
@@ -41,8 +40,8 @@ package Exp_Code is
-- to expand tables that are frozen on entry to Gigi.
function Is_Asm_Volatile (N : Node_Id) return Boolean;
- -- Given an N_Code_Statement node N, return True in the Asm_Volatile
- -- case and False in the Asm case.
+ -- Given an N_Code_Statement node N, return True if Volatile=True is
+ -- specified, and False if Volatile=False is specified (or set by default).
function Asm_Template (N : Node_Id) return Node_Id;
-- Given an N_Code_Statement node N, returns string literal node for
@@ -82,7 +81,10 @@ package Exp_Code is
-- Called within a loop initialized by Setup_Asm_Inputs and controlled
-- by Next_Asm_Input as described above. Returns the expression node for
-- the value component of the current Asm_Input parameter, or Empty if
- -- there are no more Asm_Input parameters.
+ -- there are no more Asm_Input parameters, or Error if an error was
+ -- previously detected in the input parameters (note that the backend
+ -- need not worry about this case, since it won't be called if there
+ -- were any such serious errors detected).
procedure Next_Asm_Input;
-- Step to next Asm_Input parameter. It is an error to call this procedure
@@ -94,7 +96,7 @@ package Exp_Code is
-- arguments. The protocol is to construct a loop as follows:
--
-- Setup_Asm_Outputs (N);
- -- while Present (Asm_Output_Value)
+ -- while Present (Asm_Output_Variable)
-- body
-- Next_Asm_Output;
-- end loop;
@@ -110,10 +112,13 @@ package Exp_Code is
-- Empty if there are no more Asm_Output parameters.
function Asm_Output_Variable return Node_Id;
- -- Called within a loop initialized by Setup_Asm_Outputs and controlled
- -- by Next_Asm_Output as described above. Returns the expression node for
- -- the output variable component of the current Asm_Output parameter, or
- -- Empty if there are no more Asm_Output parameters.
+ -- Called within a loop initialized by Setup_Asm_Outputs and controlled by
+ -- Next_Asm_Output as described above. Returns the expression node for the
+ -- output variable component of the current Asm_Output parameter, or Empty
+ -- if there are no more Asm_Output parameters, or Error if an error was
+ -- previously detected in the input parameters (note that the backend need
+ -- not worry about this case, since it won't be called if there were any
+ -- such serious errors detected).
procedure Next_Asm_Output;
-- Step to next Asm_Output parameter. It is an error to call this procedure