/* $Id$ */
/*
 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
 * See the copyright notice in the ACK home directory, in the file "Copyright".
 */
/*  I N L I N E   S U B S T I T U T I O N
 *
 *  I L 3 _ C H A N G E . C
 */


extern chg_callseq();		/* (call_p c; line_p cal, *l_out)
				 * Change the calling sequence of
				 * the call c. The parameters are
				 * changed and the sequence
				 * CAL - ASP - LFR is removed.
				 * cal points to the CAL instruction
				 * l_out indicates where the expanded
				 * text of the called routine must
				 * be put.
				 */
extern line_p make_label();	/* (line_p l; proc_p p)
				 * Make sure that the instruction after
				 * l contains a label. If this is not
				 * already the case, create a new label.
				 */
extern modify();		/* (line_p text; call_p c; line_p lab;
				 *  offset ab_off, lb_off; int lab_off)
				 * Modify the EM text of the called
				 * procedure.
				 */
extern mod_actuals();		/* (call_p nc,c; line_p lab;
				 *  offset ab_off, lb_off; int lab_off)
				 * Modify the actual parameters of the
				 * call nc the same way as the text of
				 * call c would be modified.
				 */
extern insert();		/* (line_p text,l,firstline)
				 * Insert the modified EM text.
				 * Pseudos are put after the pseudos
				 * of the caller.
				 */
extern liquidate();		/* (proc_p p; line_p text)
				 * All calls to p were expanded in line,
				 * so p is no longer needed.
				 */