File: funcopyv.c

package info (click to toggle)
icmake 6.21-4
  • links: PTS
  • area: main
  • in suites: hamm, potato, slink
  • size: 1,964 kB
  • ctags: 1,053
  • sloc: ansic: 9,245; makefile: 1,139; sh: 141; asm: 126
file content (34 lines) | stat: -rw-r--r-- 812 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
\funcref{fun\_copy\_var}{void fun\_copy\_var ()}
    {}
    {}
    {error()}
    {}
    {funcopyv.c}
    {

        This function is called when an {\em op\_copy\_var} opcode is
        encountered in the makefile. Following this opcode, a variable index is
        expected. The index may point to a global variable, to a function
        parameter or to a local variable.

        The function serves multiple assignments. The last pushed variable is
        copied onto the indicated variable. For {\em e\_str} and {\em e\_list}
        variables, this may involve the sharing of occupied memory.

    }
*/

#include "icm-exec.h"

void fun_copy_var ()
{
    register VAR_
        *dest;

    dest = getdest ();
    *dest = stack [sp];

    if (dest->type & (e_str | e_list))
        dest->vu.i->count++;
}