#ifndef DLOCALS_H
#define DLOCALS_H
#undef LOCAL
#undef LOCAL_INIT
#undef LOCAL_INITF
#undef LOCAL_INIT_RESTORE
#undef LOCAL_ARRAY
#undef LOCAL_ARRAY_ARRAY
#define LOCAL(TYPE, NAME) TYPE NAME
#define LOCAL_INIT(TYPE, NAME, INIT) TYPE NAME
#define LOCAL_INITF(TYPE, NAME, INIT) TYPE NAME
#define LOCAL_INIT_RESTORE(TYPE, NAME, INIT, RESTORE) TYPE NAME
#define LOCAL_ARRAY(TYPE, NAME, DIM1) TYPE NAME [ DIM1 ]
#define LOCAL_ARRAY_ARRAY(TYPE, NAME, DIM1, DIM2) TYPE NAME [ DIM1 ][ DIM2 ]
// Stuff that must be considered local to a thread or worker
typedef struct worker_local {
#include "locals.h"
} w_local;
#endif