#ifndef COMMIT_SLAB_IMPL_H #define COMMIT_SLAB_IMPL_H #define implement_static_commit_slab(slabname, elemtype) … #define implement_shared_commit_slab(slabname, elemtype) … #define implement_commit_slab(slabname, elemtype, scope) … /* * Note that this redundant forward declaration is required * to allow a terminating semicolon, which makes instantiations look * like function declarations. I.e., the expansion of * * implement_commit_slab(indegree, int, static); * * ends in 'struct indegree;'. This would otherwise * be a syntax error according (at least) to ISO C. It's hard to * catch because GCC silently parses it by default. */ #endif /* COMMIT_SLAB_IMPL_H */