# Global variables that must be exported for embedded applications.
# *** Only structures/arrays with constant initializers should go here.
# *** Usual globals initialized at runtime should be added in *var*.h.

No
Yes
bincompat_options
block_type
charclass
check
core_reg_engine
fold
fold_latin1
fold_locale
freq
global_struct_size
hexdigit
interp_size
interp_size_5_16_0
keyword_plugin
latin1_lc
magic_data
magic_vtable_names
magic_vtables
memory_wrap
no_aelem
no_dir_func
no_func
no_helem_sv
no_localize_ref
no_mem
no_modify
no_myglob
no_security
no_sock_func
no_symref
no_usym
no_wrongref
op_desc
op_name
opargs
phase_names
ppaddr
reg_extflags_name
reg_name
regkind
revision
runops_dbg
runops_std
sh_path
sig_name
sig_num
simple
simple_bitmask
subversion
utf8skip
uuemap
valid_types_IVX
valid_types_IV_set
valid_types_NVX
valid_types_NV_set
valid_types_PVX
valid_types_RV
varies
varies_bitmask
version
warn_nl
warn_nosemi
warn_reserved
warn_uninit
watch_pvx
