#ifndef TARGET_HANDLE_C_OPTION
#define TARGET_HANDLE_C_OPTION default_handle_c_option
#endif
#ifndef TARGET_OBJC_CONSTRUCT_STRING_OBJECT
#define TARGET_OBJC_CONSTRUCT_STRING_OBJECT NULL
#endif
#ifndef TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE
#define TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE NULL
#endif
#ifndef TARGET_OBJC_DECLARE_CLASS_DEFINITION
#define TARGET_OBJC_DECLARE_CLASS_DEFINITION NULL
#endif
#ifndef TARGET_STRING_OBJECT_REF_TYPE_P
#define TARGET_STRING_OBJECT_REF_TYPE_P hook_bool_const_tree_false
#endif
#ifndef TARGET_CHECK_STRING_OBJECT_FORMAT_ARG
#define TARGET_CHECK_STRING_OBJECT_FORMAT_ARG NULL
#endif
#ifndef TARGET_C_PREINCLUDE
#define TARGET_C_PREINCLUDE hook_constcharptr_void_null
#endif
#ifndef TARGET_CXX_IMPLICIT_EXTERN_C
#define TARGET_CXX_IMPLICIT_EXTERN_C NULL
#endif

#define TARGETCM_INITIALIZER \
  { \
    TARGET_HANDLE_C_OPTION, \
    TARGET_OBJC_CONSTRUCT_STRING_OBJECT, \
    TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE, \
    TARGET_OBJC_DECLARE_CLASS_DEFINITION, \
    TARGET_STRING_OBJECT_REF_TYPE_P, \
    TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, \
    TARGET_C_PREINCLUDE, \
    TARGET_CXX_IMPLICIT_EXTERN_C, \
  }
