INT	input.h	/^#define INT /;"	d	language:CPreProcessor	macrodef:1
STR	input.h	/^#define STR /;"	d	language:CPreProcessor	macrodef:"bar"
CHR	input.h	/^#define CHR /;"	d	language:CPreProcessor	macrodef:'b'
HEX	input.h	/^#define HEX /;"	d	language:CPreProcessor	macrodef:0xff01
OCT	input.h	/^#define OCT /;"	d	language:CPreProcessor	macrodef:0644
SYSCALL_METADATA	input.h	/^#define SYSCALL_METADATA(/;"	d	language:CPreProcessor	signature:(sname,nb,...)	macrodef:
SYSCALL_DEFINE2	input.h	/^#define SYSCALL_DEFINE2(/;"	d	language:CPreProcessor	signature:(name,...)	macrodef:SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
SYSCALL_DEFINEx	input.h	/^#define SYSCALL_DEFINEx(/;"	d	language:CPreProcessor	signature:(x,sname,...)	macrodef:SYSCALL_METADATA(sname, x, __VA_ARGS__) __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
__SYSCALL_DEFINEx	input.h	/^#define __SYSCALL_DEFINEx(/;"	d	language:CPreProcessor	signature:(x,name,...)	macrodef:__diag_push(); __diag_ignore(GCC, 8, "-Wattribute-alias", "Type aliasing is used to sanitize syscall arguments"); asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) __attribute__((alias(__stringify(__se_sys##name)))); ALLOW_ERROR_INJECTION(sys##name, ERRNO); static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) { long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__)); __MAP(x,__SC_TEST,__VA_ARGS__); __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); return ret; } __diag_pop(); static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
__MAP1	input.h	/^#define __MAP1(/;"	d	language:CPreProcessor	signature:(m,t,a,...)	macrodef:m(t,a)
__MAP2	input.h	/^#define __MAP2(/;"	d	language:CPreProcessor	signature:(m,t,a,...)	macrodef:m(t,a), __MAP1(m,__VA_ARGS__)
__MAP	input.h	/^#define __MAP(n,...) __MAP#/;"	d	language:CPreProcessor	signature:(n,...)	macrodef:__MAP##n(__VA_ARGS__)
__SC_DECL	input.h	/^#define __SC_DECL(/;"	d	language:CPreProcessor	signature:(t,a)	macrodef:t a
slash_fn	input.h	/^#define slash_fn(/;"	d	language:CPreProcessor	signature:(t)	macrodef:t fn (t i, t j) { return i / j; }
question_fn	input.h	/^#define question_fn(/;"	d	language:CPreProcessor	signature:(t)	macrodef:t fn (t i, t j) { return (i < j)? i: j; }
finally	input.h	/^#define finally(/;"	d	language:CPreProcessor	signature:(X)	macrodef:int fin_##X(void) { return 0; } 
