ack/util/ceg/defaults/pseudo/C_pro_narg.c

28 lines
581 B
C
Raw Normal View History

#define CODE_EXPANDER
1987-11-20 10:41:03 +00:00
#include <em.h>
#include "back.h"
1989-01-26 13:24:23 +00:00
extern int B_locals_created;
extern int B_procno;
1987-11-20 10:41:03 +00:00
1993-11-10 15:07:12 +00:00
void
1987-11-20 10:41:03 +00:00
C_pro_narg( s)
char*s;
1989-01-26 13:24:23 +00:00
/* The number of locals is unknown, but the stackframe must be made anyway.
* Solution: jump to end of procedure, where C_end() will generate code to
* create the stackframe, and also will generate code to jump back.
1987-11-20 10:41:03 +00:00
*/
{
1988-10-31 16:03:44 +00:00
char *ss;
1987-11-20 10:41:03 +00:00
swtxt();
symbol_definition( extnd_name( s));
1989-01-26 13:24:23 +00:00
B_procno++;
C_prolog();
1989-01-26 13:24:23 +00:00
B_locals_created = 0;
C_jump( extnd_pro( B_procno));
1989-01-26 13:24:23 +00:00
symbol_definition( ss = extnd_start( B_procno));
1988-10-31 16:03:44 +00:00
set_local_visible( ss);
1987-11-20 10:41:03 +00:00
}