[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/syntax/undeclared_local_bts1126.c (with preprocessing)
tests/syntax/undeclared_local_bts1126.c:35:[kernel] warning: Calling undeclared function _gnutls_epoch_get. Old style K&R code?
tests/syntax/undeclared_local_bts1126.c:37:[kernel] warning: Calling undeclared function gnutls_assert_val. Old style K&R code?
tests/syntax/undeclared_local_bts1126.c:44:[kernel] warning: Calling undeclared function _gnutls_cipher_suite_get_cipher_algo. Old style K&R code?
tests/syntax/undeclared_local_bts1126.c:45:[kernel] warning: Calling undeclared function _gnutls_cipher_suite_get_mac_algo. Old style K&R code?
tests/syntax/undeclared_local_bts1126.c:47:[kernel] warning: Calling undeclared function _gnutls_cipher_is_ok. Old style K&R code?
tests/syntax/undeclared_local_bts1126.c:48:[kernel] warning: Calling undeclared function _gnutls_mac_is_ok. Old style K&R code?
/* Generated by Frama-C */
struct gnutls_session_t {
   int f ;
};
typedef struct gnutls_session_t gnutls_session_t;
struct record_parameters_st {
   int initialized ;
   void (*cipher_algorithm)(int ) ;
   void (*mac_algorithm)(int ) ;
};
typedef struct record_parameters_st record_parameters_st;
struct cipher_suite_st {
   int a ;
};
typedef struct cipher_suite_st cipher_suite_st;
extern int ( /* missing proto */ _gnutls_epoch_get)(struct gnutls_session_t x_0,
                                                    int x_1,
                                                    record_parameters_st **x_2);

extern int ( /* missing proto */ gnutls_assert_val)(int x_0);

extern int ( /* missing proto */ _gnutls_cipher_suite_get_cipher_algo)(
cipher_suite_st *x_0);

extern int ( /* missing proto */ _gnutls_cipher_suite_get_mac_algo)(cipher_suite_st *x_0);

extern int ( /* missing proto */ _gnutls_cipher_is_ok)(void (*x_0)(int ));

extern int ( /* missing proto */ _gnutls_mac_is_ok)(void (*x_0)(int ));

int _gnutls_epoch_set_cipher_suite(gnutls_session_t session, int epoch_rel,
                                   cipher_suite_st *suite)
{
  int __retres;
  void (*cipher_algo)(int );
  void (*mac_algo)(int );
  record_parameters_st *params;
  int ret;
  int tmp_1;
  int tmp_2;
  int tmp_4;
  ret = _gnutls_epoch_get(session,epoch_rel,& params);
  if (ret < 0) {
    int tmp;
    tmp = gnutls_assert_val(ret);
    __retres = tmp;
    goto return_label;
  }
  if (params->initialized) goto _LOR;
  else 
    if (params->cipher_algorithm != (void (*)(int ))0) goto _LOR;
    else 
      if (params->mac_algorithm != (void (*)(int ))0) {
        int tmp_0;
        _LOR: tmp_0 = gnutls_assert_val(0);
        __retres = tmp_0;
        goto return_label;
      }
  { /* sequence */
    tmp_1 = _gnutls_cipher_suite_get_cipher_algo(suite);
    cipher_algo = (void (*)(int ))tmp_1;
  }
  { /* sequence */
    tmp_2 = _gnutls_cipher_suite_get_mac_algo(suite);
    mac_algo = (void (*)(int ))tmp_2;
  }
  tmp_4 = _gnutls_cipher_is_ok(cipher_algo);
  if (tmp_4 != 0) goto _LOR_0;
  else {
    int tmp_5;
    tmp_5 = _gnutls_mac_is_ok(mac_algo);
    if (tmp_5 != 0) {
      int tmp_3;
      _LOR_0: tmp_3 = gnutls_assert_val(0);
      __retres = tmp_3;
      goto return_label;
    }
  }
  params->cipher_algorithm = cipher_algo;
  params->mac_algorithm = mac_algo;
  __retres = 0;
  return_label: return __retres;
}


