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