
/* This file was automatically generated by pclu.*/

#include "pclu_err.h"
#include "pclu_sys.h"


CLUREF STR_PCLU;
static int op_sys_name_own_init = 0;

/**** BEGIN PROCEDURE op_sys_name ****/

errcode op_sys_name(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (op_sys_name_own_init == 0) {
        stringOPcons("PCLU", CLU_1, CLU_4, &STR_PCLU);
        op_sys_name_own_init = 1;
    }
    enter_proc(11);

  LINE(12);
    {
    {
    ret_1->str = STR_PCLU.str;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE op_sys_name ****/


extern errcode file_nameOPcreate();
extern errcode stringOPconcat();
extern errcode _system_root();
CLUREF STR__057cmp;
CLUREF STR_basic;
CLUREF STR_types;
CLUREF STR_;
static int basic_name_own_init = 0;

/**** BEGIN PROCEDURE basic_name ****/

errcode basic_name(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (basic_name_own_init == 0) {
        stringOPcons("/cmp", CLU_1, CLU_4, &STR__057cmp);
        stringOPcons("basic", CLU_1, CLU_5, &STR_basic);
        stringOPcons("types", CLU_1, CLU_5, &STR_types);
        stringOPcons("", CLU_1, CLU_0, &STR_);
        basic_name_own_init = 1;
    }
    enter_proc(16);

  LINE(17);
    {
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    err = _system_root(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(T_1_1, STR__057cmp, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = file_nameOPcreate(T_1_2, STR_basic, STR_types, STR_, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    ret_1->num = T_1_3.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE basic_name ****/


CLUREF STR__057dev_057null;
static int nul_dev_own_init = 0;

/**** BEGIN PROCEDURE nul_dev ****/

errcode nul_dev(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (nul_dev_own_init == 0) {
        stringOPcons("/dev/null", CLU_1, CLU_9, &STR__057dev_057null);
        nul_dev_own_init = 1;
    }
    enter_proc(20);

  LINE(21);
    {
    {
    ret_1->str = STR__057dev_057null.str;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE nul_dev ****/


static int dsuffix_own_init = 0;

/**** BEGIN PROCEDURE dsuffix ****/

errcode dsuffix(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (dsuffix_own_init == 0) {
        stringOPcons("", CLU_1, CLU_0, &STR_);
        dsuffix_own_init = 1;
    }
    enter_proc(24);

  LINE(25);
    {
    {
    ret_1->str = STR_.str;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE dsuffix ****/


CLUREF STR_c;
static int binary_suffix_own_init = 0;

/**** BEGIN PROCEDURE binary_suffix ****/

errcode binary_suffix(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (binary_suffix_own_init == 0) {
        stringOPcons("c", CLU_1, CLU_1, &STR_c);
        binary_suffix_own_init = 1;
    }
    enter_proc(32);

  LINE(33);
    {
    {
    ret_1->str = STR_c.str;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE binary_suffix ****/


CLUREF STR_equ;
static int equate_suffix_own_init = 0;

/**** BEGIN PROCEDURE equate_suffix ****/

errcode equate_suffix(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (equate_suffix_own_init == 0) {
        stringOPcons("equ", CLU_1, CLU_3, &STR_equ);
        equate_suffix_own_init = 1;
    }
    enter_proc(36);

  LINE(37);
    {
    {
    ret_1->str = STR_equ.str;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE equate_suffix ****/


CLUREF STR__137c_137;
static int code_temp_own_init = 0;

/**** BEGIN PROCEDURE code_temp ****/

errcode code_temp(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (code_temp_own_init == 0) {
        stringOPcons("_c_", CLU_1, CLU_3, &STR__137c_137);
        code_temp_own_init = 1;
    }
    enter_proc(40);

  LINE(41);
    {
    {
    ret_1->str = STR__137c_137.str;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE code_temp ****/


CLUREF STR__137b_137;
static int bin_temp_own_init = 0;

/**** BEGIN PROCEDURE bin_temp ****/

errcode bin_temp(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (bin_temp_own_init == 0) {
        stringOPcons("_b_", CLU_1, CLU_3, &STR__137b_137);
        bin_temp_own_init = 1;
    }
    enter_proc(44);

  LINE(45);
    {
    {
    ret_1->str = STR__137b_137.str;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE bin_temp ****/


CLUREF STR__057include;
CLUREF STR_pclu_137err;
CLUREF STR_h;
static int err_name_own_init = 0;

/**** BEGIN PROCEDURE err_name ****/

errcode err_name(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (err_name_own_init == 0) {
        stringOPcons("/include", CLU_1, CLU_8, &STR__057include);
        stringOPcons("pclu_err", CLU_1, CLU_8, &STR_pclu_137err);
        stringOPcons("h", CLU_1, CLU_1, &STR_h);
        stringOPcons("", CLU_1, CLU_0, &STR_);
        err_name_own_init = 1;
    }
    enter_proc(48);

  LINE(49);
    {
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    err = _system_root(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(T_1_1, STR__057include, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = file_nameOPcreate(T_1_2, STR_pclu_137err, STR_h, STR_, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    ret_1->num = T_1_3.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE err_name ****/


CLUREF STR_system;
CLUREF STR_names;
static int safety_name_own_init = 0;

/**** BEGIN PROCEDURE safety_name ****/

errcode safety_name(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (safety_name_own_init == 0) {
        stringOPcons("system", CLU_1, CLU_6, &STR_system);
        stringOPcons("names", CLU_1, CLU_5, &STR_names);
        stringOPcons("", CLU_1, CLU_0, &STR_);
        safety_name_own_init = 1;
    }
    enter_proc(52);

  LINE(53);
    {
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = _system_root(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = file_nameOPcreate(T_1_1, STR_system, STR_names, STR_, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    ret_1->num = T_1_2.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE safety_name ****/


CLUREF STR_clu;
CLUREF STR_order;
static int help_name_own_init = 0;

/**** BEGIN PROCEDURE help_name ****/

errcode help_name(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (help_name_own_init == 0) {
        stringOPcons("clu", CLU_1, CLU_3, &STR_clu);
        stringOPcons("order", CLU_1, CLU_5, &STR_order);
        stringOPcons("", CLU_1, CLU_0, &STR_);
        help_name_own_init = 1;
    }
    enter_proc(56);

  LINE(57);
    {
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = _system_root(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = file_nameOPcreate(T_1_1, STR_clu, STR_order, STR_, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    ret_1->num = T_1_2.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE help_name ****/


CLUREF STR_junk;
static int junk_name_own_init = 0;

/**** BEGIN PROCEDURE junk_name ****/

errcode junk_name(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (junk_name_own_init == 0) {
        stringOPcons("", CLU_1, CLU_0, &STR_);
        stringOPcons("clu", CLU_1, CLU_3, &STR_clu);
        stringOPcons("junk", CLU_1, CLU_4, &STR_junk);
        junk_name_own_init = 1;
    }
    enter_proc(60);

  LINE(61);
    {
    {
    CLUREF T_1_1;
    err = file_nameOPcreate(STR_, STR_clu, STR_junk, STR_, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    ret_1->num = T_1_1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE junk_name ****/


extern errcode intOPunparse();
extern errcode _get_version();

/**** BEGIN PROCEDURE get_compiler_version ****/

errcode get_compiler_version(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    enter_proc(64);

  LINE(65);
    {
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = _get_version(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = intOPunparse(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    ret_1->num = T_1_2.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE get_compiler_version ****/


extern errcode _restore_state();
CLUREF STR__057cmp_057state_056;
static int restore_compiler_own_init = 0;

/**** BEGIN PROCEDURE restore_compiler ****/

errcode restore_compiler()
    {
    errcode err;
    errcode ecode2;
        if (restore_compiler_own_init == 0) {
        stringOPcons("/cmp/state.", CLU_1, CLU_11, &STR__057cmp_057state_056);
        restore_compiler_own_init = 1;
    }
    enter_proc(68);

  LINE(69);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
    CLUREF T_1_6;
    err = _system_root(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(T_1_1, STR__057cmp_057state_056, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = _get_version(&T_1_3);
    if (err != ERR_ok) goto ex_0;
    err = intOPunparse(T_1_3, &T_1_4);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(T_1_2, T_1_4, &T_1_5);
    if (err != ERR_ok) goto ex_0;
    err = _restore_state(T_1_5, &T_1_6);
    if (err != ERR_ok) goto ex_0;
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE restore_compiler ****/


extern errcode boolOPnot();
extern errcode stringOPequal();
extern errcode _gcOPgc();
extern errcode _save_state();
CLUREF STR_0;
static int dump_compiler_own_init = 0;

/**** BEGIN PROCEDURE dump_compiler ****/

errcode dump_compiler(vers)
CLUREF vers;
    {
    errcode err;
    errcode ecode2;
        if (dump_compiler_own_init == 0) {
        stringOPcons("0", CLU_1, CLU_1, &STR_0);
        stringOPcons("/cmp/state.", CLU_1, CLU_11, &STR__057cmp_057state_056);
        dump_compiler_own_init = 1;
    }
    enter_proc(73);

  LINE(74);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = ((vers.str->size != STR_0.str->size)? false :
        !(bcmp(vers.str->data, STR_0.str->data, vers.str->size)));
    T_1_2.num = T_1_1.num ^ 1;
    if (T_1_2.num == true) {

  LINE(75);
        {
        err = _gcOPgc();
        if (err != ERR_ok) goto ex_0;
        }

  LINE(76);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        CLUREF T_2_4;
        err = _system_root(&T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_1, STR__057cmp_057state_056, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, vers, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        T_2_4.num = 420;
        err = _save_state(T_2_3, T_2_4);
        if (err != ERR_ok) goto ex_0;
        }
        }
        }/* end if */
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE dump_compiler ****/

