]> sourceware.org Git - newlib-cygwin.git/commitdiff
Use enum __packed in favour of -fshort-enums
authorSebastian Huber <sebastian.huber@embedded-brains.de>
Fri, 31 Mar 2017 09:00:42 +0000 (11:00 +0200)
committerCorinna Vinschen <corinna@vinschen.de>
Mon, 3 Apr 2017 08:26:33 +0000 (10:26 +0200)
Some architectures like ARM encode the short enum option state in the
object file and the linker checks that this option is consistent for all
objects of an executable.  In case applications use -fno-short-enums,
then this leads to linker warnings.  Use the enum __packed attribute for
the relevent enums to avoid the -fshort-enums compiler option.  This
attribute is at least available on GCC, LLVM/clang and the Intel
compiler.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
newlib/libc/stdio/Makefile.am
newlib/libc/stdio/Makefile.in
newlib/libc/stdio/local.h
newlib/libc/stdlib/Makefile.am
newlib/libc/stdlib/Makefile.in
newlib/libc/stdlib/mbtowc_r.c

index ea23de6fa5ae910b6ea22fa54f8d4a39870e47dd..943a0d583038bbab70eb90d409b7e00361ae0c34 100644 (file)
@@ -16,6 +16,8 @@ GENERAL_INT_FORMATTED_IO_SOURCES = \
        siscanf.c                       \
        sniprintf.c                     \
        vdiprintf.c                     \
+       vfprintf.c                      \
+       vfwprintf.c                     \
        viprintf.c                      \
        viscanf.c                       \
        vsiprintf.c                     \
@@ -205,7 +207,6 @@ LIBADD_OBJS = \
        $(lpfx)svfiwprintf.$(oext)              \
        $(lpfx)svfwprintf.$(oext)               \
        $(lpfx)vfiwprintf.$(oext)               \
-       $(lpfx)vfwprintf.$(oext)                \
        $(lpfx)svfiwscanf.$(oext)               \
        $(lpfx)svfwscanf.$(oext)                \
        $(lpfx)vfiwscanf.$(oext)                \
@@ -214,10 +215,10 @@ else
 LIBADD_OBJS = \
        $(lpfx)svfiprintf.$(oext) $(lpfx)svfprintf.$(oext) \
        $(lpfx)svfiscanf.$(oext) $(lpfx)svfscanf.$(oext) \
-       $(lpfx)vfiprintf.$(oext) $(lpfx)vfprintf.$(oext) \
+       $(lpfx)vfiprintf.$(oext) \
        $(lpfx)vfscanf.$(oext) $(lpfx)vfiscanf.$(oext) \
        $(lpfx)svfiwprintf.$(oext) $(lpfx)svfwprintf.$(oext) \
-       $(lpfx)vfiwprintf.$(oext) $(lpfx)vfwprintf.$(oext) \
+       $(lpfx)vfiwprintf.$(oext) \
        $(lpfx)svfiwscanf.$(oext) $(lpfx)svfwscanf.$(oext) \
        $(lpfx)vfiwscanf.$(oext) $(lpfx)vfwscanf.$(oext)
 endif
@@ -254,44 +255,38 @@ include $(srcdir)/../../Makefile.shared
 if NEWLIB_NANO_FORMATTED_IO
 # Rules compiling small-footprint nano-formatted-io implementation.
 $(lpfx)nano-vfprintf.$(oext): nano-vfprintf.c
-       $(LIB_COMPILE) -fshort-enums -c $(srcdir)/nano-vfprintf.c -o $@
+       $(LIB_COMPILE) -c $(srcdir)/nano-vfprintf.c -o $@
 
 $(lpfx)nano-vfprintf_i.$(oext): nano-vfprintf_i.c
-       $(LIB_COMPILE) -fshort-enums -c $(srcdir)/nano-vfprintf_i.c -o $@
+       $(LIB_COMPILE) -c $(srcdir)/nano-vfprintf_i.c -o $@
 
 $(lpfx)nano-vfprintf_float.$(oext): nano-vfprintf_float.c
-       $(LIB_COMPILE) -fshort-enums -c $(srcdir)/nano-vfprintf_float.c -o $@
+       $(LIB_COMPILE) -c $(srcdir)/nano-vfprintf_float.c -o $@
 
 $(lpfx)nano-svfprintf.$(oext): nano-vfprintf.c
-       $(LIB_COMPILE) -fshort-enums -DSTRING_ONLY -c $(srcdir)/nano-vfprintf.c -o $@
+       $(LIB_COMPILE) -DSTRING_ONLY -c $(srcdir)/nano-vfprintf.c -o $@
 endif
 
 # This rule is needed so that libtool compiles vfiprintf before vfprintf.
 # Otherwise libtool moves vfprintf.o and subsequently can't find it.
 
-$(lpfx)vfprintf.$(oext): vfprintf.c
-       $(LIB_COMPILE) -fshort-enums -c $(srcdir)/vfprintf.c -o $@
-
 $(lpfx)vfiprintf.$(oext): vfprintf.c
-       $(LIB_COMPILE) -fshort-enums -DINTEGER_ONLY -c $(srcdir)/vfprintf.c -o $@
+       $(LIB_COMPILE) -DINTEGER_ONLY -c $(srcdir)/vfprintf.c -o $@
 
 $(lpfx)svfprintf.$(oext): vfprintf.c
-       $(LIB_COMPILE) -fshort-enums -DSTRING_ONLY -c $(srcdir)/vfprintf.c -o $@
+       $(LIB_COMPILE) -DSTRING_ONLY -c $(srcdir)/vfprintf.c -o $@
 
 $(lpfx)svfiprintf.$(oext): vfprintf.c
-       $(LIB_COMPILE) -fshort-enums -DINTEGER_ONLY -DSTRING_ONLY -c $(srcdir)/vfprintf.c -o $@
-
-$(lpfx)vfwprintf.$(oext): vfwprintf.c
-       $(LIB_COMPILE) -fshort-enums -c $(srcdir)/vfwprintf.c -o $@
+       $(LIB_COMPILE) -DINTEGER_ONLY -DSTRING_ONLY -c $(srcdir)/vfprintf.c -o $@
 
 $(lpfx)vfiwprintf.$(oext): vfwprintf.c
-       $(LIB_COMPILE) -fshort-enums -DINTEGER_ONLY -c $(srcdir)/vfwprintf.c -o $@
+       $(LIB_COMPILE) -DINTEGER_ONLY -c $(srcdir)/vfwprintf.c -o $@
 
 $(lpfx)svfwprintf.$(oext): vfwprintf.c
-       $(LIB_COMPILE) -fshort-enums -DSTRING_ONLY -c $(srcdir)/vfwprintf.c -o $@
+       $(LIB_COMPILE) -DSTRING_ONLY -c $(srcdir)/vfwprintf.c -o $@
 
 $(lpfx)svfiwprintf.$(oext): vfwprintf.c
-       $(LIB_COMPILE) -fshort-enums -DINTEGER_ONLY -DSTRING_ONLY -c $(srcdir)/vfwprintf.c -o $@
+       $(LIB_COMPILE) -DINTEGER_ONLY -DSTRING_ONLY -c $(srcdir)/vfwprintf.c -o $@
 
 if NEWLIB_NANO_FORMATTED_IO
 # Rules compiling small-footprint nano-formatted-io implementation.
index 8ea5f0abb48d64ff3a2f03ce5632706a88057881..15aad340689094b6b933e9418d2765377ac3d22b 100644 (file)
@@ -80,6 +80,8 @@ lib_a_AR = $(AR) $(ARFLAGS)
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       lib_a-siscanf.$(OBJEXT) \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       lib_a-sniprintf.$(OBJEXT) \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       lib_a-vdiprintf.$(OBJEXT) \
+@NEWLIB_NANO_FORMATTED_IO_FALSE@       lib_a-vfprintf.$(OBJEXT) \
+@NEWLIB_NANO_FORMATTED_IO_FALSE@       lib_a-vfwprintf.$(OBJEXT) \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       lib_a-viprintf.$(OBJEXT) \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       lib_a-viscanf.$(OBJEXT) \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       lib_a-vsiprintf.$(OBJEXT) \
@@ -192,6 +194,7 @@ LTLIBRARIES = $(noinst_LTLIBRARIES)
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       iprintf.lo iscanf.lo \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       siprintf.lo siscanf.lo \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       sniprintf.lo vdiprintf.lo \
+@NEWLIB_NANO_FORMATTED_IO_FALSE@       vfprintf.lo vfwprintf.lo \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       viprintf.lo viscanf.lo \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       vsiprintf.lo vsiscanf.lo \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       vsniprintf.lo
@@ -450,6 +453,8 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       siscanf.c                       \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       sniprintf.c                     \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       vdiprintf.c                     \
+@NEWLIB_NANO_FORMATTED_IO_FALSE@       vfprintf.c                      \
+@NEWLIB_NANO_FORMATTED_IO_FALSE@       vfwprintf.c                     \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       viprintf.c                      \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       viscanf.c                       \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       vsiprintf.c                     \
@@ -608,10 +613,10 @@ GENERAL_SOURCES = \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@LIBADD_OBJS = \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       $(lpfx)svfiprintf.$(oext) $(lpfx)svfprintf.$(oext) \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       $(lpfx)svfiscanf.$(oext) $(lpfx)svfscanf.$(oext) \
-@NEWLIB_NANO_FORMATTED_IO_FALSE@       $(lpfx)vfiprintf.$(oext) $(lpfx)vfprintf.$(oext) \
+@NEWLIB_NANO_FORMATTED_IO_FALSE@       $(lpfx)vfiprintf.$(oext) \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       $(lpfx)vfscanf.$(oext) $(lpfx)vfiscanf.$(oext) \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       $(lpfx)svfiwprintf.$(oext) $(lpfx)svfwprintf.$(oext) \
-@NEWLIB_NANO_FORMATTED_IO_FALSE@       $(lpfx)vfiwprintf.$(oext) $(lpfx)vfwprintf.$(oext) \
+@NEWLIB_NANO_FORMATTED_IO_FALSE@       $(lpfx)vfiwprintf.$(oext) \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       $(lpfx)svfiwscanf.$(oext) $(lpfx)svfwscanf.$(oext) \
 @NEWLIB_NANO_FORMATTED_IO_FALSE@       $(lpfx)vfiwscanf.$(oext) $(lpfx)vfwscanf.$(oext)
 
@@ -627,7 +632,6 @@ GENERAL_SOURCES = \
 @NEWLIB_NANO_FORMATTED_IO_TRUE@        $(lpfx)svfiwprintf.$(oext)              \
 @NEWLIB_NANO_FORMATTED_IO_TRUE@        $(lpfx)svfwprintf.$(oext)               \
 @NEWLIB_NANO_FORMATTED_IO_TRUE@        $(lpfx)vfiwprintf.$(oext)               \
-@NEWLIB_NANO_FORMATTED_IO_TRUE@        $(lpfx)vfwprintf.$(oext)                \
 @NEWLIB_NANO_FORMATTED_IO_TRUE@        $(lpfx)svfiwscanf.$(oext)               \
 @NEWLIB_NANO_FORMATTED_IO_TRUE@        $(lpfx)svfwscanf.$(oext)                \
 @NEWLIB_NANO_FORMATTED_IO_TRUE@        $(lpfx)vfiwscanf.$(oext)                \
@@ -863,6 +867,18 @@ lib_a-vdiprintf.o: vdiprintf.c
 lib_a-vdiprintf.obj: vdiprintf.c
        $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-vdiprintf.obj `if test -f 'vdiprintf.c'; then $(CYGPATH_W) 'vdiprintf.c'; else $(CYGPATH_W) '$(srcdir)/vdiprintf.c'; fi`
 
+lib_a-vfprintf.o: vfprintf.c
+       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-vfprintf.o `test -f 'vfprintf.c' || echo '$(srcdir)/'`vfprintf.c
+
+lib_a-vfprintf.obj: vfprintf.c
+       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-vfprintf.obj `if test -f 'vfprintf.c'; then $(CYGPATH_W) 'vfprintf.c'; else $(CYGPATH_W) '$(srcdir)/vfprintf.c'; fi`
+
+lib_a-vfwprintf.o: vfwprintf.c
+       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-vfwprintf.o `test -f 'vfwprintf.c' || echo '$(srcdir)/'`vfwprintf.c
+
+lib_a-vfwprintf.obj: vfwprintf.c
+       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-vfwprintf.obj `if test -f 'vfwprintf.c'; then $(CYGPATH_W) 'vfwprintf.c'; else $(CYGPATH_W) '$(srcdir)/vfwprintf.c'; fi`
+
 lib_a-viprintf.o: viprintf.c
        $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-viprintf.o `test -f 'viprintf.c' || echo '$(srcdir)/'`viprintf.c
 
@@ -1882,43 +1898,37 @@ docbook: $(DOCBOOK_OUT_FILES)
 
 # Rules compiling small-footprint nano-formatted-io implementation.
 @NEWLIB_NANO_FORMATTED_IO_TRUE@$(lpfx)nano-vfprintf.$(oext): nano-vfprintf.c
-@NEWLIB_NANO_FORMATTED_IO_TRUE@        $(LIB_COMPILE) -fshort-enums -c $(srcdir)/nano-vfprintf.c -o $@
+@NEWLIB_NANO_FORMATTED_IO_TRUE@        $(LIB_COMPILE) -c $(srcdir)/nano-vfprintf.c -o $@
 
 @NEWLIB_NANO_FORMATTED_IO_TRUE@$(lpfx)nano-vfprintf_i.$(oext): nano-vfprintf_i.c
-@NEWLIB_NANO_FORMATTED_IO_TRUE@        $(LIB_COMPILE) -fshort-enums -c $(srcdir)/nano-vfprintf_i.c -o $@
+@NEWLIB_NANO_FORMATTED_IO_TRUE@        $(LIB_COMPILE) -c $(srcdir)/nano-vfprintf_i.c -o $@
 
 @NEWLIB_NANO_FORMATTED_IO_TRUE@$(lpfx)nano-vfprintf_float.$(oext): nano-vfprintf_float.c
-@NEWLIB_NANO_FORMATTED_IO_TRUE@        $(LIB_COMPILE) -fshort-enums -c $(srcdir)/nano-vfprintf_float.c -o $@
+@NEWLIB_NANO_FORMATTED_IO_TRUE@        $(LIB_COMPILE) -c $(srcdir)/nano-vfprintf_float.c -o $@
 
 @NEWLIB_NANO_FORMATTED_IO_TRUE@$(lpfx)nano-svfprintf.$(oext): nano-vfprintf.c
-@NEWLIB_NANO_FORMATTED_IO_TRUE@        $(LIB_COMPILE) -fshort-enums -DSTRING_ONLY -c $(srcdir)/nano-vfprintf.c -o $@
+@NEWLIB_NANO_FORMATTED_IO_TRUE@        $(LIB_COMPILE) -DSTRING_ONLY -c $(srcdir)/nano-vfprintf.c -o $@
 
 # This rule is needed so that libtool compiles vfiprintf before vfprintf.
 # Otherwise libtool moves vfprintf.o and subsequently can't find it.
 
-$(lpfx)vfprintf.$(oext): vfprintf.c
-       $(LIB_COMPILE) -fshort-enums -c $(srcdir)/vfprintf.c -o $@
-
 $(lpfx)vfiprintf.$(oext): vfprintf.c
-       $(LIB_COMPILE) -fshort-enums -DINTEGER_ONLY -c $(srcdir)/vfprintf.c -o $@
+       $(LIB_COMPILE) -DINTEGER_ONLY -c $(srcdir)/vfprintf.c -o $@
 
 $(lpfx)svfprintf.$(oext): vfprintf.c
-       $(LIB_COMPILE) -fshort-enums -DSTRING_ONLY -c $(srcdir)/vfprintf.c -o $@
+       $(LIB_COMPILE) -DSTRING_ONLY -c $(srcdir)/vfprintf.c -o $@
 
 $(lpfx)svfiprintf.$(oext): vfprintf.c
-       $(LIB_COMPILE) -fshort-enums -DINTEGER_ONLY -DSTRING_ONLY -c $(srcdir)/vfprintf.c -o $@
-
-$(lpfx)vfwprintf.$(oext): vfwprintf.c
-       $(LIB_COMPILE) -fshort-enums -c $(srcdir)/vfwprintf.c -o $@
+       $(LIB_COMPILE) -DINTEGER_ONLY -DSTRING_ONLY -c $(srcdir)/vfprintf.c -o $@
 
 $(lpfx)vfiwprintf.$(oext): vfwprintf.c
-       $(LIB_COMPILE) -fshort-enums -DINTEGER_ONLY -c $(srcdir)/vfwprintf.c -o $@
+       $(LIB_COMPILE) -DINTEGER_ONLY -c $(srcdir)/vfwprintf.c -o $@
 
 $(lpfx)svfwprintf.$(oext): vfwprintf.c
-       $(LIB_COMPILE) -fshort-enums -DSTRING_ONLY -c $(srcdir)/vfwprintf.c -o $@
+       $(LIB_COMPILE) -DSTRING_ONLY -c $(srcdir)/vfwprintf.c -o $@
 
 $(lpfx)svfiwprintf.$(oext): vfwprintf.c
-       $(LIB_COMPILE) -fshort-enums -DINTEGER_ONLY -DSTRING_ONLY -c $(srcdir)/vfwprintf.c -o $@
+       $(LIB_COMPILE) -DINTEGER_ONLY -DSTRING_ONLY -c $(srcdir)/vfwprintf.c -o $@
 
 # Rules compiling small-footprint nano-formatted-io implementation.
 @NEWLIB_NANO_FORMATTED_IO_TRUE@$(lpfx)nano-vfscanf.$(oext): nano-vfscanf.c
index 471442e26aff692d462303fe7a1cefa30a0cd50e..5f6995501d9f436ee43ce41a439034f5dc1d4ccb 100644 (file)
@@ -306,7 +306,7 @@ _VOID _EXFUN(__sinit_lock_release,(_VOID));
 /* Types used in positional argument support in vfprinf/vfwprintf.
    The implementation is char/wchar_t dependent but the class and state
    tables are only defined once in vfprintf.c. */
-typedef enum {
+typedef enum __packed {
   ZERO,   /* '0' */
   DIGIT,  /* '1-9' */
   DOLLAR, /* '$' */
@@ -319,7 +319,7 @@ typedef enum {
   MAX_CH_CLASS /* place-holder */
 } __CH_CLASS;
 
-typedef enum {
+typedef enum __packed {
   START,  /* start */
   SFLAG,  /* seen a flag */
   WDIG,   /* seen digits in width area */
@@ -335,7 +335,7 @@ typedef enum {
   MAX_STATE, /* place-holder */
 } __STATE;
 
-typedef enum {
+typedef enum __packed {
   NOOP,  /* do nothing */
   NUMBER, /* build a number from digits */
   SKIPNUM, /* skip over digits */
index 2d45d1029ace8087b57657cbc11feabf76f4206e..fb2e44e42c02ceee3d9ab1fc50dd5d4899d0f32f 100644 (file)
@@ -307,8 +307,6 @@ $(lpfx)dtoa.$(oext): dtoa.c mprec.h
 $(lpfx)ldtoa.$(oext): ldtoa.c mprec.h
 $(lpfx)ecvtbuf.$(oext): ecvtbuf.c mprec.h
 $(lpfx)mbtowc_r.$(oext): mbtowc_r.c mbctype.h
-       $(LIB_COMPILE) -c -fshort-enums $(srcdir)/mbtowc_r.c -o $@
-
 $(lpfx)mprec.$(oext): mprec.c mprec.h
 $(lpfx)strtod.$(oext): strtod.c mprec.h
 $(lpfx)gdtoa-gethex.$(oext): gdtoa-gethex.c mprec.h
index 466ab6d1e02ea919f6c8ceed792024955bef1a66..b4b70b42b7e29dc2019dd8b1711aa8c225b6ef8f 100644 (file)
@@ -1560,8 +1560,6 @@ $(lpfx)dtoa.$(oext): dtoa.c mprec.h
 $(lpfx)ldtoa.$(oext): ldtoa.c mprec.h
 $(lpfx)ecvtbuf.$(oext): ecvtbuf.c mprec.h
 $(lpfx)mbtowc_r.$(oext): mbtowc_r.c mbctype.h
-       $(LIB_COMPILE) -c -fshort-enums $(srcdir)/mbtowc_r.c -o $@
-
 $(lpfx)mprec.$(oext): mprec.c mprec.h
 $(lpfx)strtod.$(oext): strtod.c mprec.h
 $(lpfx)gdtoa-gethex.$(oext): gdtoa-gethex.c mprec.h
index 116b4d82f6d0e06dd63b85872bf2f5f2d09cdb61..9d782566f3e3402bdc567397fa755cb2301c3867 100644 (file)
@@ -55,11 +55,11 @@ _DEFUN (__ascii_mbtowc, (r, pwc, s, n, state),
 }
 
 #ifdef _MB_CAPABLE
-typedef enum { ESCAPE, DOLLAR, BRACKET, AT, B, J, 
+typedef enum __packed { ESCAPE, DOLLAR, BRACKET, AT, B, J,
                NUL, JIS_CHAR, OTHER, JIS_C_NUM } JIS_CHAR_TYPE;
-typedef enum { ASCII, JIS, A_ESC, A_ESC_DL, JIS_1, J_ESC, J_ESC_BR,
+typedef enum __packed { ASCII, JIS, A_ESC, A_ESC_DL, JIS_1, J_ESC, J_ESC_BR,
                INV, JIS_S_NUM } JIS_STATE; 
-typedef enum { COPY_A, COPY_J1, COPY_J2, MAKE_A, NOOP, EMPTY, ERROR } JIS_ACTION;
+typedef enum __packed { COPY_A, COPY_J1, COPY_J2, MAKE_A, NOOP, EMPTY, ERROR } JIS_ACTION;
 
 /************************************************************************************** 
  * state/action tables for processing JIS encoding
This page took 0.058219 seconds and 5 git commands to generate.