1/*
2 * Copyright 2016, NICTA
3 *
4 * This software may be distributed and modified according to the terms of
5 * the GNU General Public License version 2. Note that NO WARRANTY is provided.
6 * See "LICENSE_GPLv2.txt" for details.
7 *
8 * @TAG(NICTA_GPL)
9 */
10
11// This file is generated by COGENT version 2.3.0.0-b3438dfb09
12// with command ./cogent -g --table-c-types=pass_simple-take-letput.table pass_simple-take-letput.cogent
13// at Fri, 15 May 2015 16:46:27 AEST
14
15#ifndef PASS_SIMPLE_TAKE_LETPUT_H__
16#define PASS_SIMPLE_TAKE_LETPUT_H__
17
18#include <cogent.h>  /* FIXME: Change to or search for the proper path */
19
20enum {
21    LET_TRUE = 1
22};
23enum {
24    LETBANG_TRUE = 1
25};
26enum untyped_func_enum {
27    FUN_ENUM_foo,
28    FUN_ENUM_foobar
29};
30typedef enum untyped_func_enum untyped_func_enum;
31typedef untyped_func_enum t3;
32#define FUN_DISP_MACRO_dispatch_t3(a1, a2, a3)\
33{\
34    {\
35        a1 = foobar(a3);\
36    }\
37}
38typedef untyped_func_enum t4;
39#define FUN_DISP_MACRO_dispatch_t4(a1, a2, a3)\
40{\
41    {\
42        a1 = foo(a3);\
43    }\
44}
45struct t1 {
46    u16 x;
47    u32 y;
48};
49typedef struct t1 t1;
50struct t2 {
51    u8 x;
52    u16 y;
53};
54typedef struct t2 t2;
55static inline t1* foobar(t1*);
56static inline t2* foo(t2*);
57static inline t1* dispatch_t3(untyped_func_enum a2, t1* a3)
58{
59    return foobar(a3);
60}
61static inline t2* dispatch_t4(untyped_func_enum a2, t2* a3)
62{
63    return foo(a3);
64}
65typedef t2* foo_arg;
66typedef t2* foo_ret;
67typedef t1* foobar_arg;
68typedef t1* foobar_ret;
69#endif
70
71
72