## 9 Controlling CIL

In the process of converting a C file to CIL we drop the unused prototypes and even inline function definitions. This results in much smaller files. If you do not want this behavior then you must pass the `--keepunused` argument to the CIL application.

Alternatively you can put the following pragma in the code (instructing CIL to specifically keep the declarations and definitions of the function `func1` and variable `var2`, the definition of type `foo` and of structure `bar`):

    #pragma cilnoremove("func1", "var2", "type foo", "struct bar")